3 回答
TA贡献1818条经验 获得超7个赞
不,我认为写这样的东西很好:例如,stdlib 的 sort.go在文件顶部附近执行它:
func min(a, b int) int {
if a < b {
return a
}
return b
}
math.Min(2, 3)碰巧起作用,因为Go 中的数字常量是 untyped。但是,请注意通常将 float64s 视为通用数字类型,因为如果转换为 float64,上面的整数2^53将被四舍五入。
TA贡献1865条经验 获得超7个赞
整数没有内置的 min 或 max 函数,但编写自己的函数很简单。由于支持可变参数函数,我们甚至可以通过一次调用来比较更多的整数:
func MinOf(vars ...int) int {
min := vars[0]
for _, i := range vars {
if min > i {
min = i
}
}
return min
}
用法:
MinOf(3, 9, 6, 2)
同样,这里是 max 函数:
func MaxOf(vars ...int) int {
max := vars[0]
for _, i := range vars {
if max < i {
max = i
}
}
return max
}
TA贡献1820条经验 获得超9个赞
例如,
package main
import "fmt"
func min(x, y int) int {
if x < y {
return x
}
return y
}
func main() {
t := "stackoverflow"
v0 := make([]int, len(t)+1)
v1 := make([]int, len(t)+1)
cost := 1
j := 0
v1[j+1] = min(v1[j]+1, min(v0[j+1]+1, v0[j]+cost))
fmt.Println(v1[j+1])
}
输出:
1
- 3 回答
- 0 关注
- 415 浏览
添加回答
举报