php中文网

Go 开发中“expected ';', found '('”错误怎么解决?

php中文网

go 调用函数提示“expected ';',found '(' 问题

在 go 开发中,可能会遇到这样的报错:expected ';', found '('。这个错误提示意味着编译器在期待分号(;)结束一条语句,却发现了一个左括号(()。

这种错误通常是由于函数调用中传参或接收返回值的方式不正确导致的。go 严格区分了函数和方法的调用方式。

对于函数调用,需要先定义接收函数参数的变量,再使用函数名调用函数,并传入变量作为参数:

func sum(a, b int) int {
    return a + b
}

func main() {
    var x int
    x = sum(1, 2)
}

对于方法调用,需要先创建接收方法的结构体实例,再使用点操作符(.)调用方法,并传入实例作为接收者:

type Point struct {
    X int
    Y int
}

func (p Point) Distance() int {
    return p.X*p.X + p.Y*p.Y
}

func main() {
    p := Point{1, 2}
    d := p.Distance()
}

此外,还需要注意函数的返回值类型和变量声明的类型一致。如果函数声明有返回值,则需要使用 return 关键字返回结果。

掌握了正确的函数调用方式后,就不会再出现 expected ';', found '(' 错误。

以上就是Go 开发中“expected ';', found '('”错误怎么解决?的详细内容,更多请关注php中文网其它相关文章!