很重要go语言中用的最多的就是函数
定义一个标准函数
func 函数名(函数传参变量)(函数返回值变量) {
函数体
return 返回值
}
定义一个求和的函数
package main
import "fmt"
//定义一个求值的函数
func sum(x int, y int) (z int) {
return x + y
}
func main() {
//引入函数并计算
sum1 := sum(6, 4)
fmt.Println(sum1)
//查看sum1的类型
fmt.Printf("函数类型%T", sum1) //结果为int类型和上面定义sum函数的返回值是一个类型
}
函数存在的意义
- 函数是一段代码的封装
- 把一块逻辑抽象出来封装到一个函数中去,给它起个名字,每次用到它的时候直接用函数名调用就可以了
- 使用函数能够让代码结构更清晰更简洁
定义一个没有返回值的函数
func s1(x int, y int) {
fmt.Println(x + y)
}
定义一个没有参数的函数
func f1() {
fmt.Println(f1)
}
定义一个没有参数但是有返回值的函数
func f2()int {
return 333
}
注意在go中定义的函数变量名是相当于声明了一个变量,go返回值可以命名也可以不命名。命名后的参数在return可以不用写参数名
func f3(x int,y int)(z int){
z = x +y
return //这里就可以省略z返回值的名称
}
多个返回值
func f4()(int ,string){
return 1,"天津"
}
参数类型的简写
func f5(x,y int)int {
return x+y
}
可变参数
//注意可变参数必须写到函数参数的最后
func f6(x string,y ...int){
fmt.Println(x)
fmt.Println(y) //这里的y是slice切片,具体类型根据你定义的参数类型一致,可以向y里传入多个数值
}
go语言函数没有默认参数概念,参数要么传参要么不传参,就是要么用函数要么就不用函数
匿名函数
没有名字的函数
func(x, y int) {
fmt.Println(x + y)
}
使用函数
创造一个变量接受函数即可
var f1 = func(x, y int) {
fmt.Println(x + y)
}
func main() {
f1(10,20)
}
匿名函数的使用
匿名函数一般出现在函数的内部
func main(){
f1 func(x, y int) {
fmt.Println(x + y)
}
f1(10,20)
}
如果只是调用一次的函数还可以简写成立即执行函数
func main() {
func() {
fmt.Println("helloworld")
}()
}
也可以传参
func main() {
func(x,y int) {
fmt.Println(x +y)
fmt.Println("hello world")
}(100,200)
}
标签:函数,int,fmt,func,Println,返回值
From: https://www.cnblogs.com/suknna/p/17103265.html