这就是我所做的,它非常丑陋。使用math.Max2 uint 的正确方法是什么?vs.curView.Viewnum =uint(math.Max(float64(args.Viewnum+1), float64(vs.curView.Viewnum)))
2 回答
叮当猫咪
TA贡献1776条经验 获得超12个赞
math.Max存在的主要原因是为了确保正确处理 IEEE 浮点的一些特殊情况(正无穷大和负无穷大,NaN以及带符号的零)。
这些问题与简单整数无关,因此您也可以使用明显的实现。就像是:
if args.Viewnum+1 > vs.curView.Viewnum {
vs.curView.Viewnum = args.Viewnum+1
}
烙印99
TA贡献1829条经验 获得超13个赞
虽然问题很老,但也许这个包 会节省某人的时间和精力。go get像往常一样,它可以通过URL获取和导入。
用法:
import (
"fmt"
"<Full URL>/go-imath/ix" // Functions for int type
)
...
fmt.Println(ix.Max(100, 152)) // Output: 152
fmt.Println(ix.Maxs(234, 55, 180)) // Output: 234
fmt.Println(ix.MaxSlice([]int{2, 29, 8, -1})) // Output: 29
- 2 回答
- 0 关注
- 243 浏览
添加回答
举报
0/150
提交
取消