gpt4 book ai didi

Golang if/else 不编译

转载 作者:IT王子 更新时间:2023-10-29 01:24:47 25 4
gpt4 key购买 nike

我不明白为什么这不会编译。它说函数结束时没有 return 语句,但是当我在 else 后面添加 return 时,它仍然无法编译。

func (d Foo) primaryOptions() []string{

if(d.Line == 1){
return []string{"me", "my"}
}
else{
return []string{"mee", "myy"}
}
}

最佳答案

Go 强制 elseif 大括号在同一行.. 因为它的“自动分号插入”规则。

所以一定是这样的:

if(d.Line == 1) {
return []string{"me", "my"}
} else { // <---------------------- this must be up here
return []string{"mee", "myy"}
}

否则,编译器会为您插入一个分号:

if(d.Line == 1) {
return []string{"me", "my"}
}; // <---------------------------the compiler does this automatically if you put it below
else {
return []string{"mee", "myy"}
}

..因此你的错误。我将很快链接到相关文档。

编辑:Effective Go has information regarding this .

关于Golang if/else 不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24255189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com