【发布时间】:2022-07-25 18:04:56
【问题描述】:
我学习 golang 已经有几个星期了,想测试一下我的知识。这个简单的 Hello World 程序在基本的 golang func main(){} 程序中运行。
package main
import "fmt"
func main() {
h := "h"
w := "e"
combinedstring := h + "," + w
fmt.Println(combinedstring)
}
然而,当我将该代码移动到一个函数中并告诉该函数在其参数中期望什么以及返回什么时,整个事情就崩溃了。
package main
import (
"fmt"
)
func printHelloWorld(h string, w string) combinedstring string{
h := "h"
w := "e"
combinedstring := h + "," + w
return combinedstring
}
func main() {
fmt.Println(printHelloWorld("hello", "world"))
}
我得到的错误是:
syntax error: unexpected string after top level declaration
即使在研究之后我也不知道这意味着什么。可能意味着什么......
-
如果使用命名结果类型,必须将它们放在括号中:
func printHelloWorld(h string, w string) (combinedstring string) {}
。不过既然不用,可以省略:func printHelloWorld(h string, w string) string {}
-
如果您确实希望使用它,请使用赋值
=
而不是短变量声明:=
。如果您是新手,请拨打 Go tour 。 -
非常感谢 :) 现在我明白了。因为我要命名返回值,所以我必须加上括号。我已经完成了 Go Tour,并且在 UDemy 上观看了 8 个小时的 ZTM 视频,只是在努力将其中的一些内容记录下来。为遇到此问题的任何人找到有关命名括号的链接: geeksforgeeks.org/named-return-parameters-in-golang