エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Goはnilをレシーバーにメソッドを呼んでもnil pointerで落ちない - 今川館
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Goはnilをレシーバーにメソッドを呼んでもnil pointerで落ちない - 今川館
Goはヌルポしないという事実に驚愕してしまった もう言いたいことはタイトルがすべてなのだが、Goはnil... Goはヌルポしないという事実に驚愕してしまった もう言いたいことはタイトルがすべてなのだが、Goはnilからメソッドを呼んでもnil ponterでパニックになったりしない。 以下のGoのプログラムでmain()関数のローカル変数fはnilだが、f.IsNull()などのメソッドを呼んでもパニックにならず結果を返す。 package main import ( "fmt" ) type Foo struct { Name string } func (f *Foo) IsNull() bool { return f == nil } func (f *Foo) Hello() string { return "Hello, world." } func main() { var f *Foo fmt.Println(f.IsNull(), f.Hello(), f) // => true