(一)函数基本定义和演示
一个函数可以设置0或者更多的参数,函数的命名关键字为func ,后接参数,然后是函数类型,
每个函数都必须具有返回值,返回值用关键字return 返回,返回类型必须和函数类型一致
package main
import "fmt"
func dis(x int,y int) int{
return x+y
}
func main(){
fmt.Println("x+y的计算结果为:",dis())
}
如果写了参数不传参会报错
(二)函数的参数简写技巧
如果函数需要传多个参数的值都一样的类型,我们可以简写只定义一个类型,比如:
func a(x , y , z int)
可以写为func a(x int, y int, z int)
package main
import "fmt"
func multiplication(x , y , z int) int{
return x*y*z
}
func main(){
fmt.Println(multiplication())
}
(三)一个微微复杂的演示
package main
import (
"fmt"
"strconv"
)
func dis(x int, y int) string {
var str string = "x+y的计算结果为:" + strconv.Itoa(x+y)
return str
}
func main() {
fmt.Println(dis(2, 3))
}
(四)复合型结果
一个函数可以返回各种类型的数值
注意这里我们在函数的圆括号后面写了两个string类型,因为我们需要返回两个参数,这是一个交换字符串的演示 >
package main
import "fmt"
func swap(str1, str2 string) (string, string) {
return str2, str1
}
func main() {
fmt.Println(swap("你好世界!", "拜拜,过去,"))
}
(五)被命名的返回值
函数的返回值可以被命名在函数的圆括号后面,return关键字后面不写任何值,且被命名的返回值不能和函数圆括号内的参数命名重合,否则会报错,这样的写法可能对函数的命名会较长
package main
import "fmt"
func add10(a int)(b int){
b=a+10
return
}
func main(){
fmt.Println(add10(20))
}