为了账号安全,请及时绑定邮箱和手机立即绑定

GO中函数体错误之外的非声明语句

GO中函数体错误之外的非声明语句

Go
白衣非少年 2021-11-22 17:03:14
我是 Go 的新手,这些问题让我很困惑。我无法解决它们,你们能帮我吗?func Solution(A []int, B[]int, K int) int{.......res = MaxInt32 low = 0high = Min(900, largestId) //largestId is limited heremid = 0while(low <= high){    mid = {low + high} / 2         55    if(isAvailable(K, mid)){        res := Min(res, mid)        high :=mid - 1    } else{        low := mid + 1    }}return res                         64}                                  65错误显示:workspace/src/solution/solution.go:55: syntax error: unexpected =, expecting }workspace/src/solution/solution.go:64: non-declaration statement outside function bodyworkspace/src/solution/solution.go:65: syntax error: unexpected }我不明白为什么会出现这些问题?
查看完整描述

2 回答

?
慕娘9325324

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应该可以工作。并去掉括号。


查看完整回答
反对 回复 2021-11-22
?
眼眸繁星

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。


查看完整回答
反对 回复 2021-11-22
  • 2 回答
  • 0 关注
  • 333 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信