- 书籍:
- 环境:MacOS + Goland
- 学习方式:看书、实现、记录Markdown
一、概述 Link to heading
1.1 特征 Link to heading
- 语法简单:类
C,简洁->Python - 并发模型:运行时用
Goroutine运行一切,用协程的方式处理并发单元,运行时又作了深度优化;搭配channel,实现了CSP模型 - 垃圾回收:
- 静态链接:编译后一个可执行文件,无需附加仍何东西就能部署
- 标准库:
- 工具链:
1.2 简介 Link to heading
第一个Go程序
Link to heading
// test.go
package main
func main() {
print("hello world")
}
- 以
.go为文件扩展名 - 不需要分号
; - 一定要有入口函数
main,无参数,==且必须放在main包中??== - 删除未使用的导入,否则会报错
test.go和main.gotest.go,里面写package main,直接运行,控制台不输出,需要go run test.gomain.go,里面写package main,直接运行输出
变量 Link to heading
使用 var 定义变量,数据类型划分明确,适合跨平台。赋值的时候,var可以省略
// main.go
package main
func main() {
var x int32 // 不赋值的int默认值为0
var s = "hello"
y := 100
println(x, s, y) // 输出输出 0 hello 100,再换行
print(x, s, y) // 输出 0hello100,不换行
}
print和println都可以同时输出多个变量print不会同行加空格以及末尾换行- 变量定义了不使用也会报错
- 结构体,用Table右对齐