go中的包

1、所有go语言的程序都会组织成若干组文件,每组文件被称为一个

2、所有的.go文件,除了空行和注释,都应该在第一行声明自己所属的包。每个包都在一个单独的目录里。同一个目录下的所有.go文件必须同一个包名。

3、给包命名的惯例是使用包所在目录的名字。目录及包名应该全小写

4、go语言的编译程序会试图把main命名的包编译为二进制可执行文件。所有用go语言编译的可执行程序都必须有一个名叫main()的函数。

5、程序编译时,会使用声明main包的代码所在的文件的文件名作为二进制可执行文件的文件名。

6、命令和包  Go文档里经常使用命令(command)这个词来指代可执行程序。在Go语言里,命令是指任何可执行程序更常用来指语义上可导入的功能单元

//$GOPATH/src/hello/hello.go
package main
import "fmt"
func main(){
	fmt.Println("Hello World!")
}

$GOPATH/src/hello/hello.go如上,执行go build hello.go之后,会生成一个二进制可执行文件。执行该程序,会在控制台上显示"Hello World!",若把包名main改为其他名字,则编译器认为这只是一个,而不是命令

7、标准库中的包会在安装Go的位置找到。Go开发者创建的包会在GOPATH环境变量指定的目录里找到。GOPATH指定的这些目录就是开发者的个人工作空间。编译器会首先查找Go的安装目录,然后才会按顺序查找GOPATH变量里列出的目录。一旦编译器找到一个满足import语句的包,就停止进一步查找。

8、远程导入 若导入路径包含URL,可以使用Go工具链从DVCS(Distributed Version Control Systems)获取包,并把包的源代码保存在GOPATH指向的路径里与URL匹配的目录里。

9、命名导入 重名的包可以通过命名导入来导入。命名导入是指,在import语句给出的包路径的左侧定义一个名字,将导入的包命名为新名字,例:

package main
import ( 
    "fmt"
    myfmt "mylib/fmt"
)
func main(){
    fmt.Println("Standard Library")
    myfmt.Println("mylib/fmt")
}

10、可以使用占位符“_”来重命名一个导入但不需要引用的的包。

11、每个包可以包含任意多个init函数,这些函数会在程序执行开始的时候被调用。所以被编译器发现的init函数都会安排在main函数之前执行。init函数用在设置包、初始化变量或者其他要在程序运行前优先完成的引导工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值