這就是我所做的,它非常丑陋。使用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以及帶符號的零)。
這些問題與簡單整數(shù)無關,因此您也可以使用明顯的實現(xiàn)。就像是:
if args.Viewnum+1 > vs.curView.Viewnum {
vs.curView.Viewnum = args.Viewnum+1
}

烙印99
TA貢獻1829條經驗 獲得超13個贊
雖然問題很老,但也許這個包 會節(jié)省某人的時間和精力。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 關注
- 266 瀏覽
添加回答
舉報
0/150
提交
取消