新乡营销型网站,企业文化展示墙设计,wordpress文章分享按钮设置,二级域名的网站备案Golang 基础环境和语法 
交叉编译 
windows 下打包 linux 的运行程序。 
设置变量 
set GOARCHamd64
set GOOSlinuxgo build取消变量 
set GOARCH
set GOOS显示变量 
set GOgo test 
当go test以包列表模式运行时#xff0c;go test会缓存成功的包的测试结果以避免不必要的重复…Golang 基础环境和语法 
交叉编译 
windows 下打包 linux 的运行程序。 
设置变量 
set GOARCHamd64
set GOOSlinuxgo build取消变量 
set GOARCH
set GOOS显示变量 
set GOgo test 
当go test以包列表模式运行时go test会缓存成功的包的测试结果以避免不必要的重复测试。当然有时候我们测试的时候并不喜欢有缓存我们可以手动禁用缓存。可以通过下列方式禁用缓存 
带上 -count1 参数禁用缓存。 
如执行下面命令测试便会禁用缓存测试结果 
go test -v -count1 filename_test.go手动清除测试缓存 除了在执行测试命令的时候加上禁用缓存参数我们还可以执行下面的命令手动清除缓存需要注 意的是每次都得清除不然下次执行的还是上次的结果。 
go clean -testcacheVsCode setting.xml 配置 
{go.testFlags: [-v,-count1],
}映射 
使用make声明映射 
创建一个映射键的类型是string值的类型是int 
dict : make(map[string]int)创建一个映射键和值的类型都是string使用两个键值对初始化映射 
dict : map[string]string{Red:#da1337,Orange:#e95a22}声明一个存储字符串切片的映射使用字符串切面作为值 
dict : map[int][]string{}类型的本质 
内置类型 
数值类型字符串类型布尔类型 
引用类型 
切片映射通道接口函数类型 
Go 语言里的引用类型有如下几个切片、映射、通道、接口和函数类型。当声明上述类型 的变量时创建的变量被称作标头header值。从技术细节上说字符串也是一种引用类型。 每个引用类型创建的标头值是包含一个指向底层数据结构的指针。每个引用类型还包含一组独特 的字段用于管理底层数据结构。因为标头值是为复制而设计的所以永远不需要共享一个引用 类型的值。标头值里包含一个指针因此通过复制来传递一个引用类型的值的副本本质上就是 在共享底层数据结构。 
结构类型 
结构类型可以用来描述一组数据值这组值的本质即可以是原始的也可以是非原始的。如 果决定在某些东西需要删除或者添加某个结构类型的值时该结构类型的值不应该被更改那么需 要遵守之前提到的内置类型和引用类型的规范。 
包管理 
Go ModGo VendorGo depGo Modules 
Go Modules 使用本地包 Go Modules下使用本地包 https://www.cnblogs.com/dexte/p/12337220.html 方式一推荐 
严格的说方式一是使用项目目录下的go文件。 项目目录如下 
【如下所示 搜文件树模式编写表示】 
└─ studyModule //项目主目录├─ log //主目录下文件夹│  └─ log.go // log目录下go文件├─ main.go // 主目录下go文件└─ go.modlog.go 中首行 package log注意log文件夹下不要 go mod init否则会导致无法编译 studyModule文件夹下 go mod init stsmain.go 中调用 log.go中的方法import sts/log- 此处为主目录下的mod名下边的log文件夹log目录下的方法,变量等依然需要大写。如果不能正常使用可尝试在主目录下执行 go mod tidy 
方式二使用go mod replace 
└─studyModule //项目主目录└─4fan.top //主目录下文件夹│  └─DY│     ├─DYloggerv1.1.0│     ├─ *.go│     └─go.mod【2】├─main.go // 主目录下go文件└─go.mod【1】go.mod【2】Module NameDYloggergo.mod 【1】 
require 4fan.top/DY/DYlogger v1.1.0
replace 4fan.top/DY/DYlogger  ./4fan.top/DY/DYloggerv1.1.0 
main.go中 import 4fan.top/DY/DYlogger 
说明go mod是一个理想化的包管理工具因此版本在go mod中很重要。(semver(语义化版本号)) 
go.mod 【1】中的require最好指明版本 对于文件名名字以及mod文件中的版本号码未测试在其它情况下是否生效请自行测试。