学习GO编程必备知识汇总

 更新时间:2016年07月31日 11:35:51   投稿:hebedich  
这篇文章主要介绍了学习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操作简明总结

    这篇文章主要介绍了Go语言入门教程之Arrays、Slices、Maps、Range操作简明总结,本文直接给出操作代码,同时对代码加上了详细注释,需要的朋友可以参考下
    2014-11-11
  • 解决golang时间字符串转time.Time的坑

    解决golang时间字符串转time.Time的坑

    这篇文章主要介绍了解决golang时间字符串转time.Time的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go 阻塞的实现示例

    Go 阻塞的实现示例

    Go语言提供了多种同步和通信机制,可以用于实现阻塞的效果,本文主要介绍了Go 阻塞的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Goland debug失效详细解决步骤(合集)

    Goland debug失效详细解决步骤(合集)

    今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这里总结几种Goland debug失效常见情况,需要的朋友可以参考下
    2025-02-02
  • golang 字符串切片去重实例

    golang 字符串切片去重实例

    这篇文章主要介绍了golang 字符串切片去重实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 使用Go实现邮箱验证码API功能

    使用Go实现邮箱验证码API功能

    本文将带你了解一个项目如何实现一个邮箱验证接口,即一个可用的发送邮箱验证码API和验证验证码是否正确功能,对Go实现邮箱验证码API详细过程感兴趣的朋友一起看看吧
    2024-06-06
  • 解决Go Json Unmarshal反序列化丢失数字精度问题

    解决Go Json Unmarshal反序列化丢失数字精度问题

    业务会使用 id生成器 产生的 分布式唯一ID,长度比较长,所以代码反序列化时,会出现精度丢失问题,那如何解决呢,下面小编就来和大家详细讲讲
    2023-08-08
  • Go语言中iota的具体使用

    Go语言中iota的具体使用

    Go语言中,iota是一个用于生成一系列相关常量值的常量生成器,常应用于枚举、位操作等场景,广泛用于定义HTTP状态码、权限控制等,本文就来介绍一下iota的具体使用,感兴趣的可以了解一下
    2024-11-11
  • golang字符串转64位整数的示例代码

    golang字符串转64位整数的示例代码

    这篇文章主要介绍了golang字符串转64位整数,在Go语言中,可以使用strconv包中的ParseInt函数将字符串转换为64位整数,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • Go语言之init函数

    Go语言之init函数

    Go语言有一个特殊的函数init,先于main函数执行,实现包级别的一些初始化操作。这篇文章介绍了Go中的Init函数,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论