#kyotogo
*foo(x, bar())
bar()
foo の x foo の y
foo(x, y)
main の x
bar の nil
リテラル
var 宣言
引数
return
引数
デリファレンス
return
if x == nil
Slide 17
Slide 17 text
#kyotogo
*foo(x, bar())
bar()
foo の x foo の y
foo(x, y)
main の x
bar の nil
リテラル
var 宣言
引数
return
引数
デリファレンス
return
if x == nil
赤は nil 確定
緑は nil 不可能
黒は矛盾
Slide 18
Slide 18 text
#kyotogo
*foo(x, bar())
bar()
foo の x foo の y
foo(x, y)
main の x
bar の nil
リテラル
var 宣言
引数
return
引数
デリファレンス
return
if x == nil
赤は nil 確定
緑は nil 不可能
黒は両方(矛盾)