51 lines
985 B
Markdown
51 lines
985 B
Markdown
### 微信文章待整理
|
||
- Go 依赖注入 https://mp.weixin.qq.com/s/Do-kTTbyKT4rsAGD3ujKwQ
|
||
- 结构体多字段原子操作 https://mp.weixin.qq.com/s/Wa1l4M5P89rQ2pyB_KnMxg
|
||
- 函数调用相关 https://mp.weixin.qq.com/s/Ekx9JpclqLaa4baB6V5rLw https://mp.weixin.qq.com/s/QGp1H6-__pus1Kbb7U8CHw
|
||
- 泛型 https://mp.weixin.qq.com/s/s9SITQB2xQb4tqmoLaJUpw
|
||
### 各种nil判断
|
||
- 切片定义但不初始化,则为nil
|
||
```go
|
||
func main() {
|
||
var s []int
|
||
fmt.Println(s == nil)
|
||
}
|
||
```
|
||
|
||
- map定义但是不进行初始化,则为nil
|
||
```go
|
||
func main() {
|
||
var m map[string]int
|
||
fmt.Println(m == nil)
|
||
}
|
||
```
|
||
|
||
- 接口变量定义但是不赋初值
|
||
```go
|
||
type MyInterface interface {
|
||
M1(string)
|
||
}
|
||
|
||
func main() {
|
||
var m MyInterface
|
||
fmt.Println(m == nil)
|
||
}
|
||
```
|
||
|
||
- channel定义但是不初始化
|
||
```go
|
||
func main() {
|
||
var ch chan int
|
||
fmt.Println(ch == nil)
|
||
}
|
||
```
|
||
|
||
- 指针类型变量没有被显式赋予初值
|
||
```go
|
||
type Book struct{}
|
||
|
||
func main() {
|
||
var b *Book
|
||
fmt.Println(b == nil)
|
||
}
|
||
``` |