Go 编程语言学习笔记
本资源是一个详细的 Go 编程语言学习笔记,涵盖了 Go 语言的基本语法、数据类型、函数、goroutine、channel、reflect 等多方面的知识点。
一、基本语法
* 变量声明:Go 语言中可以使用 var 关键字声明变量,例如 `var x int` 或 `var f float32 = 1.6`。
* 赋值语句:Go 语言中可以使用 `:=` 运算符进行赋值,例如 `x := 123`。
* 基本数据类型:Go 语言中有多种基本数据类型,包括整型、浮点型、字符串、布尔型等。
二、数据类型
* 数组:Go 语言中可以使用 `[n]T` 语法声明数组,例如 `[3]int{0, 1, 2}`。
* 切片:Go 语言中可以使用 `[]T` 语法声明切片,例如 `[]int{0, 1, 2}`。
* 映射:Go 语言中可以使用 `map[T]T` 语法声明映射,例如 `map[string]int{"a": 1, "b": 2}`。
* 结构体:Go 语言中可以使用 `struct` 关键字声明结构体,例如 `struct { x int; y int }`。
三、函数
* 函数声明:Go 语言中可以使用 `func` 关键字声明函数,例如 `func main() { ... }`。
* 函数调用:Go 语言中可以使用 `funcName()` 语法调用函数,例如 `main()`。
四、goroutine 和 Channel
* Goroutine:Go 语言中可以使用 `go` 关键字启动 goroutine,例如 `go func() { ... }()`。
* Channel:Go 语言中可以使用 `chan` 关键字声明 channel,例如 `chan int`。
五、反射
* 反射:Go 语言中可以使用 `reflect` 包来实现反射,例如 `reflect.ValueOf(x)`。
六、内存管理
* 内存分配器:Go 语言中可以使用 `new()` 函数分配内存,例如 `x := new(int)`。
* 垃圾回收:Go 语言中有自动垃圾回收机制,例如 `runtime.GC()`。
七、测试和性能优化
* 测试:Go 语言中可以使用 `testing` 包来实现测试,例如 `testing.T`。
* 性能优化:Go 语言中可以使用 `pprof` 包来实现性能优化,例如 `pprof.StartCPUProfile()`。
八、其他知识点
* Error handling:Go 语言中可以使用 `error` 类型来处理错误,例如 `err error`。
* Panic 和 Recover:Go 语言中可以使用 `panic` 和 `recover` 函数来处理panic,例如 `panic("error")` 和 `recover()`。
本资源提供了一个详细的 Go 编程语言学习笔记,涵盖了 Go 语言的基本语法、数据类型、函数、goroutine、channel、reflect 等多方面的知识点。