為什么 Go 有類型 nil?為方便起見,它會拋出顯式接口構造檢查。untyped 的問題是nil什么,設計師想用 typed 解決什么問題nil?
3 回答

動漫人物
TA貢獻1815條經驗 獲得超10個贊
如果沒有 typed-nil,就不能使用:=帶有nil值的短賦值語句。
a := nil // Error: use of untyped nil
b := error(nil) // OK
同樣,它啟用以下單行:
result, err := "A good result", error(nil)
編寫類似上面的內容有時可能會提供一些便利。
但是請注意,這nil不是一個關鍵字或文字-與圍棋并沒有有一個內置的或標準的類型化零值。Typed-nil 僅作為以下之一的結果存在:
使用默認(“零值”)初始化聲明可空類型變量
分配
nil
(直接或間接)給一個類型化的值將
nil
標識符轉換為類型(如上面的示例所示)。
- 3 回答
- 0 關注
- 221 瀏覽
添加回答
舉報
0/150
提交
取消