Go 言語の nil について疑問があります。
go
1package main 2 3import ( 4 "fmt" 5 "reflect" 6) 7 8func main() { 9 fmt.Println(nil) 10 fmt.Println(reflect.TypeOf(nil)) 11}
が
text
1<nil> 2<nil>
となるのはなぜですか? nil の型は nil なのですか?
私がよく分からないと感じているのは、Go の nil を C++ の nullptr と同じようなものだと思っていたのですが、C++ だと nullptr の型は std::nullptr_t なので、それでは一体 Go の nil はなんなんのだ?となってしまいました。
2020/04/13 04:43
2020/04/13 05:22