f!= f何时成立? [关闭]

问题描述 投票:2回答:1

谁能详细说明syscalls/js的主题,为什么在第57行中有一个声明

if f != f { ... }

([f的类型为float64)。

怎么可能?什么时候可以在i != i中将true这样的语句设为go

go syntax
1个回答
8
投票

例如,如果f的类型为float64,并且它的值是一个表示“非数字”的特定值,则可以从math.NaN()中获得。根据定义,math.NaN()不等于任何其他NaN值,包括float64本身。 NaN类型使用float64标准,该标准表示仅IEEE-754满足NaN不等式。

f != f

此打印var f float64 = math.NaN() fmt.Println(f != f) ,在true上尝试。

有关推理,请参见Go Playground

© www.soinside.com 2019 - 2024. All rights reserved.