今天尝试用Go语言在 LeetCode 上刷题时,发现使用Go语言的两个问题:
- Go 语言不支持三目运算符。原本一个简单的
n := expr ? trueValue : falseValue
要写成
if expr {
n = trueValue
} else {
n = falseValue
}
-
Go语言的 math 包中 min/max 函数定义如下:
math.Min(float64, float64) float64
math.Max(float64, float64) float64
并没有提供整数类型的 min/max 函数(Go语言不支持函数的重载)。我们在写程序时,需自己手写整数类型的 min/max。不应将 math.Min/math.Max 滥用于 int 的原因 -
没有内置
func in_array(needle, array) bool
这样的常用函数. -
今天打算写一个判断数组里是否所有元素都相等,找了一番发现没有支持这个功能的原生函数。另:不支持泛型编程。
上面两个问题私以为与Go追求简单的思路是有冲突的。