-
# go run helper -a :强制编译相关代码,不论编译代码是否最新 -n :打印编译过程需要用到的命令,但不真正执行他们 -p n :并行编译,n为并行的数量 -v :列出被编译的代码包的名称 -a -v : 列出所有被编译的代码包的名称 -work : 显示编译时创建的临时工作目录的路径,并且不删除它 -x : 打印编译过程中所需运行的命令查看全部
-
命令来源说明。查看全部
-
实例来源说明。查看全部
-
go run (1)查看全部
-
go run (1)查看全部
-
命令基础查看全部
-
代码包的初始化 代码包初始化函数即:无参数声明和结果声明的init函数 init函数可以被声明在任何文件中,且可以有多个 init函数的执行时机-----单一代码包内 对所有全局变量进行求值-->执行所有的init函数。 init函数的执行时机-----不同代码包之间 注意:我们不应该对在同一个代码包中被导入的多个代码包的init函数的执行顺序做出假设! 执行被导入的代码包中的init函数-->执行导入它的那个代码包的init函数 导入顺序 A -> B -> C 执行顺序 C B A init函数的执行时机-----所有涉及到的代码包查看全部
-
代码包的作用:编译和归档Go程序的最基本单位。代码划分、集结和依赖的有效组织形式,也是权限控制的辅助手段 代码包的规则:一个代码包实际上就是一个由导入路径代表的目录;导入路径即<工作区目录>/src或<工作区目录>/pkg/<平台相关目录>之下的某段子路径 例如:代码包hypermind.cn可以对应于/home/hypermind/golib/src/hypermind.cn目录。(其中 /home/hypermind/golib是一个工作区目录) 代码包的声明:每个源码文件必须声明其所属的代码包;同一个代码包中的所有源码文件声明的代码包应该是相同的。 代码包声明与代码包导入路径的区别: 代码包声明:代码包声明语句中的包名称应该是该代码包的导入路径的最右子路径,例如:hypermind.cn/pkgtool package pkgtool 代码包导入语句中使用的包名称应该与其导入路径一致,例如: flag fmt strings import("flag" "fmt" "strings") 代码包的导入方法:带别名的导入:import str "strings" str.HasPrefix("abc","a") 本地化的导入:import ."strings" HasPrefix("abc","a") 仅仅初始化:import _"strings" 仅执行代码包中的初始化函数查看全部
-
Go源码文件:名称以.go为后缀,内容以Go语言代码组织的文件 多个Go源码文件是需要用代码包组织起来的 源码文件分为三类:命令源码文件、库源码文件(go语言程序) 测试源码文件(辅助源码文件) 命令源码文件:声明自己属于main代码包、包含无参数声明和结果声明的main函数;被安装后,相应的可执行文件会被存放到GOBIN指向的目录或<当前工作区目录>/bin下 命令源码文件是Go程序的入口,但不建议把程序都写在一个文件中;同一个代码包中强烈不建议直接包含多个命令源码文件。 库源码文件:不具备命令源码文件的那两个特征的源码文件, 被安装后,相应的归档文件会被存放到<当前工作区目录>/pkg/<平台相关目录>下 测试源码文件:不具备命令源码文件的那两个特征的源码文件。名称以_test.go为后缀。其中至少有一个函数的名称以Test或Benchmark为前缀。并且,该函数接受一个类型为 *testing.T或*testing.B的参数 func TestFind(t *testing.T){//省略若干条语句} func BenchmarkFind(b *testing.B){//省略若干条语句}查看全部
-
工作区和GOPATH 6查看全部
-
工作区和GOPATH 5查看全部
-
工作区和GOPATH 4查看全部
-
工作区和GOPATH 3查看全部
-
工作区和GOPATH 2查看全部
-
工作区和GOPATH 1查看全部
举报
0/150
提交
取消