GO知识记录
1.查看GOPATH 及其go的其它相关参数。
在命令行中执行: go env
2. 简单的使用beego: 使用go下载命令 把 beego 源码下载到了 GOPATH 的github.com 中。
3.Golang源码探索(二) 协程的实现原理
https://studygolang.com/articles/11627
4.
make([]struct{}, n)
只会被分配在栈上,而不会被分配在堆上。- Brad Fitzpatrick 的注释是对的,并且他的意思是 “不会引发堆分配”
5. 在一个老的项目引入 go.mod
go.mod 在PHP 类似 composer.json 的存在,是一个包管理存储信息文件。如果我们在GitHub下载一个项目 如果没有 go.mod
我们可以 在 这个项目的根目录 执行 go mod init 在根目录就会生成 一个 go.mod 文件,里面存放这 引入的 各个GitHub的modul 及其版本号。
然后执行 go get 会自动下载相应地 modul
6.go语言中单引号和双引号的区别
Go中,双引号是用来表示字符串string,其实质是一个byte类型的数组,单引号表示rune类型。Go中字符串是一个不可变的值类型,内部用指针指向UTF-8字节数组。因此可以用索引号访问某字节,也可以用len()函数来获取字符串所占的字节长度
str:="hello world" fmt.Println(str[3:5])
单引号 不能用来表示字符串
双引号 可解析的字符串字面量 (支持转义,但不能用来引用多行);
反引号 原生的字符串字面量 ,支持多行,不支持转义, 多用于书写多行消息、HTML以及正则表达式。