青少年叛逆
青少年叛逆
IT培训
广告招商

GO语言培训之包和文件!老男孩GO语言开发培训

  GO语言培训之包和文件!老男孩IT培训

  工作空间

  Go语言工作空间:编译工具对源码目录有严格要求,每个工作空间 (workspace) 必须由bin、pkg、src三个目录组成。

  src ---- 项目源码目录,里面每一个子目录,就是一个包,包内是Go语言的源码文件。

  pkg ---- Go语言编译的.a 中间文件存放目录,可自动生成。

  bin ---- Go语言编译可执行文件存放目录,可自动生成。

  包结构

  包是结构化代码的一种方式:每个程序都由包的概念组成,可以使用自身的包或者从其它包中导入内容。

  如同其它一些编程语言中的类库或命名空间的概念,每个Go文件都属于且仅属于一个包。一个包可以由许多以.go为扩展名的源文件组成,因此文件名和包名一般来说都是不相同的。

  包声明 "package + 包名" ,必须在源文件中非注释的第一行指明这个文件属于哪个包。

  如:package main。package main表示一个可独立执行的程序,每个Go应用程序都包含一个名为 main 的包。

  同一个包(package)下面,可以有非常多的不同文件,只要每个文件的头部都有相同name就可以,如 "package oldboy" 。文件夹名字可以和这个package名称不一致。

  标准库

  在Go的安装文件里包含了一些可以直接使用的包,即标准库。

  Go语言标准库包,覆盖了几乎所有的基础库,提供了丰富广泛的功能特性。

  标准库的内容还可能继续增加,大家可以通过在线查阅库API或使用godoc(包含在Go发布包中)来获取最新信息以及全面了解每个包所具备的功能。

  第三方库

  通过"go get + 完整包名"保存下载第三方库。

  在执行go get 命令之前,确保你的电脑配置了环境变量GOPATH,并且安装git。

  导出包

  在Go语言中根据首字母的大小写来确定可以访问的权限。如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用。该规则适用于全局变量、全局常量、类型、结构字段、函数、方法等。

  可以简单的理解成,首字母大写是公有的,首字母小写是私有的。

  在导入包之后,你只能访问包所导出的名字,任何未导出的名字是不能被包外的代码访问的。

  导入包

  使用包成员前,必须先用import关键字导入,但不能形成导入循环。

  import用法:

  第一种,导入系统包。

  import "fmt"

  第二种,相对路径导入包,导入同一目录下 test 包中的内容。

  import "./test"

  第三种,绝对路径导入包,导入 gopath/src/oldboy/python 包中的内容。

  import "oldboy/python"

  第四种,导入包并启用别名。

  import f "fmt"

  导入fmt,并给他启别名f

  import . "fmt"

  将fmt启用别名".",这样就可以直接使用其内容,而不用再添加fmt。

  如fmt.Println可以直接写成Println。

  第五种,"import _"

  import _ "fmt"

  表示不使用该包,而是只是使用该包的init函数,并不显示的使用该包的其他内容。

  这种形式的import,当import时就执行了fmt包中的init函数,而不能够使用该包的其他函数。

  注意:未使用的导入包,会被编译器视为错误 (不包括 "import _")。实例如下:

  package main

  import (

  "fmt"

  )

  func main() {

  }

  编译错误:

  ./main.g4:2: imported and not used: "fmt"

  老男孩教育IT课程,11余年技术沉淀,紧跟潮流,10大阶段从入门到专业层层进阶,无论你是否有IT基础,均可轻松学会,成就高薪职业!

注意:吐槽知乎网只是一个问答与文章免费发布平台,所有信息均有会员免费发布,不产生金钱交易,如果你有资金往来,请及时通过电话与对方联系,调查清楚,确认无误在选择,否则造成你的损失,由自己承担,本平台概不负责,谢谢!

0 个评论

要回复文章请先登录注册

狗粮批发
嘿,进入会员专区!