Golang_1_概述
目录:
- 书籍:
- 环境:MacOS + Goland
- 学习方式:看书、实现、记录Markdown
一、概述
1.1 特征
- 语法简单:类
C
,简洁->Python
- 并发模型:运行时用
Goroutine
运行一切,用协程的方式处理并发单元,运行时又作了深度优化;搭配channel
,实现了CSP
模型 - 垃圾回收:
- 静态链接:编译后一个可执行文件,无需附加仍何东西就能部署
- 标准库:
- 工具链:
1.2 简介
第一个Go
程序
// test.go
package main
func main() {
print("hello world")
}
- 以
.go
为文件扩展名 - 不需要分号
;
- 一定要有入口函数
main
,无参数,==且必须放在main
包中??== - 删除未使用的导入,否则会报错
test.go
和main.go
test.go
,里面写package main
,直接运行,控制台不输出,需要go run test.go
main.go
,里面写package main
,直接运行输出
变量
使用 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右对齐