golang 在两个 uint 值上使用 math.max 的正确方法是什么?

这就是我所做的,它非常丑陋。

使用math.Max2 uint 的正确方法是什么?

vs.curView.Viewnum =uint(math.Max(float64(args.Viewnum+1), float64(vs.curView.Viewnum)))


白衣非少年
浏览 244回答 2
2回答

叮当猫咪

math.Max存在的主要原因是为了确保正确处理 IEEE 浮点的一些特殊情况(正无穷大和负无穷大,NaN以及带符号的零)。这些问题与简单整数无关,因此您也可以使用明显的实现。就像是:if args.Viewnum+1 > vs.curView.Viewnum {    vs.curView.Viewnum = args.Viewnum+1}

烙印99

虽然问题很老,但也许这个包 会节省某人的时间和精力。go get像往常一样,它可以通过URL获取和导入。用法:import (&nbsp; &nbsp; "fmt"&nbsp; &nbsp; "<Full URL>/go-imath/ix" // Functions for int type)...fmt.Println(ix.Max(100, 152)) // Output: 152fmt.Println(ix.Maxs(234, 55, 180)) // Output: 234fmt.Println(ix.MaxSlice([]int{2, 29, 8, -1})) // Output: 29
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go