加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

学习GO编程必备知识汇总

发布时间:2020-12-16 19:31:01 所属栏目:大数据 来源:网络整理
导读:如果你想开始学习GO语法前,请先背熟下述4点: 1. 环境变量: 使用go env查看环境变量 GOARCH/GOHOSTARCH: 体系架构,amd64或386 GOOS/GOHOSTOS: 操作系统,linux或windows GOROOT: GO安装目录 GOBIN: GO程序目录 GOTOOLDIR: GO工具目录 CGO_ENABLED: 是否启用CGO

如果你想开始学习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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读