2 回答
TA贡献1783条经验 获得超4个赞
whileGo 中没有循环。只有for。如果我这样做:
package main
func main() {
var n int
while (n < 10) {
n++
}
return
}
我收到以下错误(与您的类似):
untitled 3:6: syntax error: unexpected ++, expecting }
untitled 3:8: non-declaration statement outside function body
untitled 3:9: syntax error: unexpected }
如果我这样做while n < 10(没有括号),我会得到更精确的消息,即第 5 行 ( )出现意外的名称错误while。我相信由于括号的使用,编译器将(非保留字)while视为一种类型(函数调用或类型转换),但在意识到它不存在之前,还有其他错误需要报告。因此,也许对您来说是一个令人困惑的消息。
除非您的代码中有其他错误,否则重命名while为for应该可以工作。并去掉括号。
TA贡献1873条经验 获得超9个赞
例如,
package main
import (
"math"
)
func Min(a, b int) int {
if a > b {
return b
}
return a
}
func isAvailable(k, mid int) bool {
// ...
return true
}
func Solution(A []int, B []int, K int) int {
largestId := 0
// ...
res := math.MaxInt32
low := 0
high := Min(900, largestId)
for low <= high {
mid := (low + high) / 2
if isAvailable(K, mid) {
res = Min(res, mid)
high = mid - 1
} else {
low = mid + 1
}
}
return res
}
func main() {}
你需要学习基本的 Go 语法。参加Go Tour。
- 2 回答
- 0 关注
- 333 浏览
添加回答
举报