学习GO编程必备知识汇总
如果你想开始学习GO语法前,请先背熟下述4点:
1. 环境变量:
使用go env查看环境变量
GOARCH/GOHOSTARCH: 体系架构, amd64或386
GOOS/GOHOSTOS: 操作系统, linux或windows
GOROOT: GO安装目录
GOBIN: GO程序目录
GOTOOLDIR: GO工具目录
CGO_ENABLED: 是否启用CGO
CC
CXX
GOGCCFLAGS
GORACE: 数据同步检测, 配合go test, go run, go build, go install的-race选项.
GOPATH: GO包查找路径
2. 代码组织:
- $GOPATH包含多个workspace
- workspace包含src, pkg, bin
- src包含package, 即program, library
- package包含go file
需要明白:
* package name vs package path
package name指go file中使用package声明的identifie. package path指相对GOPATH的路径. 相同package path, 相同package name.
package import完整语法:
import [name] "path"
其中:
name部分可以
无, 使用package声明的默认name
点, 使用当前package
blank, 仅执行init
name, 自定义名称
path部分可以
绝对路径: 相对$GOPATH的路径
相对路径: 相对当前文件的路径.
注意: 使用vendor机制不能出现相对路径, 否则解析出错.
* program vs library
package name为main表示program
package name非main表示library
3. 代码测试
使用go test命令执行测试代码.
test file以_test为后缀.
test func以Test为前缀.
4. 远程包
使用go get命令获取远程包.
但go test命令依赖git或svn.
相关文章
Go语言入门教程之Arrays、Slices、Maps、Range操作简明总结
这篇文章主要介绍了Go语言入门教程之Arrays、Slices、Maps、Range操作简明总结,本文直接给出操作代码,同时对代码加上了详细注释,需要的朋友可以参考下2014-11-11
解决Go Json Unmarshal反序列化丢失数字精度问题
业务会使用 id生成器 产生的 分布式唯一ID,长度比较长,所以代码反序列化时,会出现精度丢失问题,那如何解决呢,下面小编就来和大家详细讲讲2023-08-08


最新评论