Go函数定义格式如下:
func function_name( [parameter list] ) [return_types] { 函数体 }
函数定义解析:
- func:关键字,用于声明函数。
- function_name:函数名称,函数名和参数列表一起构成了函数签名(signature)。
- parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。
- return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。有些功能不需要返回值,这种情况下 return_types 不是必须的。
- 函数体:函数定义的代码集合。
注意:If the function's signature declares result parameters, the function body's statement list must end in a terminating statement.
示例:test.go
package main
import "fmt"
func IndexRune(s string, r rune) int {
for i, c := range s {
if c == r {
return i
}
}
// invalid: missing return statement
}
func main() {
var charLocation int
charLocation = IndexRune("helloworld",'w')
fmt.Println(charLocation)
}
import "fmt"
func IndexRune(s string, r rune) int {
for i, c := range s {
if c == r {
return i
}
}
// invalid: missing return statement
}
func main() {
var charLocation int
charLocation = IndexRune("helloworld",'w')
fmt.Println(charLocation)
}
E:\project\go>go build test.go
# command-line-arguments
.\test.go:12: missing return at end of function
# command-line-arguments
.\test.go:12: missing return at end of function