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以及正则表达式。

原文地址:https://www.cnblogs.com/tgzmos/p/14635758.html