函数
更新于 2021-08-30
关键字
| 关键字 | 作用 |
|---|---|
| func | 声明函数 |
| return |
函数定义
- fun:关键字
fun定义函数 - name:函数名
- parameters:函数参数,可以有0个或多个
- results:函数返回值,可以有0个或多个
go
func name(parameters) (results) {
body-content
}go
package main
import (
"os"
"strconv"
)
func main() {
sum := sum(os.Args[1], os.Args[2])
println("Sum:", sum)
}
func sum(number1 string, number2 string) int {
int1, _ := strconv.Atoi(number1)
int2, _ := strconv.Atoi(number2)
return int1 + int2
}
//或者另一种形式
func sum(number1 string, number2 string) (result int) {
int1, _ := strconv.Atoi(number1)
int2, _ := strconv.Atoi(number2)
result = int1 + int2
return
}多返回值
go
func calc(number1 string, number2 string) (sum int, mul int) {
int1, _ := strconv.Atoi(number1)
int2, _ := strconv.Atoi(number2)
sum = int1 + int2
mul = int1 * int2
return
}如果不需要函数的某个返回值,可是用匿名变量_
go
func main() {
sum, _ := calc(os.Args[1], os.Args[2])
println("Sum:", sum)
}不定长参数
go
func test(args ...int) {
for _, arg : rangd args {
fmt.Println(arg)
}
}匿名函数
func关键字后无函数名
此类函数可以获取外层函数里的变量
函数变量
go
func test(a int) int{ //do something}
new_f := test
//定义函数变量
var f func() intmain函数
- 程序中只能有一个main函数
- 如果是Go包,则无需编写main函数
- main函数没有参数(使用os包获取参数)
- main函数没有返回值
go
package main
import (
"os"
"strconv"
)
func main() {
number1, _ := strconv.Atoi(os.Args[1])
number2, _ := strconv.Atoi(os.Args[2])
println("Sum:", number1+number2)
}内置函数
| 函数名 |
|---|
| make |
| len |
| cap |
| new |
| append |
| copy |
| close |
| delete |
| complex |
| real |
| image |
| panic |
| recover |