我遇到了一個使用 NaN 作為映射鍵的 golang 測驗,它運行時沒有任何錯誤。如果 map 的鍵應該是可比較的,那么 NaN 是一個可比較的類型,或者這是一個允許 NaN 作為鍵的編譯器錯誤。這是測驗來源,go playground 鏈接和下面的代碼。package mainvar x = 0.0func main() { var a = x / x // a = NaN var m = map[float64]int{a: 1} m[a] = 2 for k := range m { delete(m, k) } println(len(m)) // prints 2}
NaN 是 golang 中的可比類型嗎?
慕工程0101907
2023-02-14 18:23:02