我是围棋新手。我有以下Go代码(在Playground这里)。
我很困惑,因为我不明白第17行发生了什么。使用 nil 参数调用它,就好像它是一个函数一样,这意味着什么?函数名称前面的 是什么?myStruct[]*
我希望能够直接比较,但它们属于不同的类型。ab
1: package main
2:
3: import (
4: "fmt"
5: "google.golang.org/protobuf/runtime/protoimpl"
6: )
7:
8: type myStruct struct {
9: e protoimpl.MessageState
10: }
11:
12: func myFunc() (*myStruct) {
13: return new(myStruct)
14: }
15:
16: func main() {
17: a := []*myStruct(nil)
18: fmt.Println("a = ", a)
19: b := myFunc()
20: fmt.Println("b = ", b)
21: }
输出:
a = []
b = &{{{} [] [] <nil>}}
青春有我
慕哥6287543
相关分类