2 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
whileGo 中沒有循環(huán)。只有for。如果我這樣做:
package main
func main() {
var n int
while (n < 10) {
n++
}
return
}
我收到以下錯(cuò)誤(與您的類似):
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(沒有括號),我會(huì)得到更精確的消息,即第 5 行 ( )出現(xiàn)意外的名稱錯(cuò)誤while。我相信由于括號的使用,編譯器將(非保留字)while視為一種類型(函數(shù)調(diào)用或類型轉(zhuǎn)換),但在意識(shí)到它不存在之前,還有其他錯(cuò)誤需要報(bào)告。因此,也許對您來說是一個(gè)令人困惑的消息。
除非您的代碼中有其他錯(cuò)誤,否則重命名while為for應(yīng)該可以工作。并去掉括號。

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
例如,
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() {}
你需要學(xué)習(xí)基本的 Go 語法。參加Go Tour。
- 2 回答
- 0 關(guān)注
- 457 瀏覽
添加回答
舉報(bào)