golang一句话总结
Golang学习参考: Golang是顺序执行语言,函数内顺序不一样,执行的结果不一样!
0)Golang入门这一页就够了:https://tour.go-zh.org/concurrency/11 (各种权威资料汇总)
0.1)Go编程语言规范: https://go-zh.org/ref/spec#Operands (数据类型,函数,运算符,逻辑关系等详解)
0.2)Golang的25个关键字解析:https://juejin.im/post/5b43674d5188251b176a4c8b
0.3)除了关键字还有,内建函数例如make,append等都是不要定义具体函数便可以使用的方法。builtin 函数详解:http://learning-golang.lofter.com/post/c9bfc_1a6a87 和:http://golang.org/pkg/builtin/ 其中包含了:/* 内置类型 、 引用类型:(指针类型) 、内置函数、内置接口error:
type error interface { Error() String} //只要实现了Error()函数,返回值为String的都实现了err接口
1)语法汇总:https://blog.csdn.net/cabing2005/article/details/60585961 (CSDN) and https://www.jianshu.com/p/b368420cb994 (简书)
2)语法实例与讲解:https://www.jb51.net/article/128964.htm (原理清楚便于实践)
3)Go代码网页运行:https://www.jdoodle.com/execute-go-online (其他语言也可以)
4)Golang基础学习网页版:https://tour.go-zh.org/ (专门学习网站,右上角选择对应章节)
Golang运行环境与系统相关:
1)查看golang运行环境:go env 2) 运行go程序:go run ***.go ( ***.go为go文件,前提为go环境搭建完毕)
3)执行godoc -http=:portID 再执行:localhost: portID 查看本地文档
4)按照约定,包名与导入路径的最后一个元素一致。例如,"math/rand" 包中的源码均以 package rand 语句开始。
5)全局变量是允许声明但不使用,局部变量不能重新声明而且声明了必须要使用
6)导入可以import ( "fmt") 也可以: import "math" 效果相同
7)函数外的每个语句都必须以关键字开始(var, func 等等),因此 := 结构不能在函数外使用。
Go语法相关
1)Go 的 if 语句与 for 循环类似,表达式外无需小括号 ( ) ,而大括号 { } 则是必须的。
2)defer 语句会将函数推迟到外层函数返回之后执行。推迟调用的函数其参数会立即求值,但直到外层函数返回前该函数都不会被调用。关于defer 的详解。
3)Go 拥有指针。指针保存了值的内存地址。类型 *T
是指向 T
类型值的指针。其零值为 nil
。&
操作符会生成一个指向其操作数的指针。*
操作符表示指针指向的底层值。
4)一个结构体(struct
)就是一个字段的集合。结构体字段使用点号来访问。
5)切片并不存储任何数据,它只是描述了底层数组中的一段。更改切片的元素会修改其底层数组中对应的元素。(切片的长度就是它所包含的元素个数。切片的容量是从它的第一个元素开始数,到其底层数组元素末尾的个数,无论末尾切片数字多少)(nil 切片的长度和容量为 0 且没有底层数组。)切片可包含任何类型,甚至包括其它的切片。 内置函数 func make([]T, len, cap) []T
可以用来创建切片,该函数接受长度和容量作为参数,返回切片。容量是可选的,默认与长度相同。使用 make
函数将会创建一个数组并返回它的切片。 Golang 切片详解: https://blog.csdn.net/u011304970/article/details/74938457
6)