go语言基础之函数
一、函数
1、定义格式
函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。
Go 语言函数定义格式如下:
func FuncName(/*参数列表*/) (o1 type1, o2 type2/*返回类型*/) { //函数体 return v1, v2 //返回多个值 }
函数定义说明:
l func:函数由关键字 func 开始声明
l FuncName:函数名称,根据约定,函数名首字母小写即为private,大写即为public
l 参数列表:函数可以有0个或多个参数,参数格式为:变量名 类型,如果有多个参数通过逗号分隔,不支持默认参数
l 返回类型:
① 上面返回值声明了两个变量名o1和o2(命名返回参数),这个不是必须,可以只有类型没有变量名
② 如果只有一个返回值且不声明返回值变量,那么你可以省略,包括返回值的括号
③ 如果没有返回值,那么就直接省略最后的返回信息
④ 如果有返回值, 那么必须在函数的内部添加return语句
二、无参无返回值函数
示例:
package main //必须有一个main包 import "fmt" func main() { MyFunc() } func MyFunc() { a := 666 fmt.Println("a = ", a) }
#执行结果:
a = 666
三、普通参数列表
示例1: 传一个参数
package main //必须有一个main包 import "fmt" func MyFunc01(a int) { //有参无返回值函数的定义, 普通参数列表 //定义函数时, 在函数名后面()定义的参数叫形参 //参数传递,只能由实参传递给形参,不能反过来, 单向传递 fmt.Println("a = ", a) } func main() { MyFunc01(666) }
#执行结果:
a = 666
示例2 :传多个传数
package main //必须有一个main包 import "fmt" func MyFunc02(a int, b int) { fmt.Printf("a = %d, b = %d\n", a, b) } func main() { MyFunc02(666, 777) }
#执行结果:
a = 666, b = 777
示例3: (同上,另一种写法)
package main //必须有一个main包 import "fmt" func MyFunc03(a, b int) { fmt.Printf("a = %d, b = %d\n", a, b) } func main() { MyFunc03(666, 777) }
#执行结果:
a = 666, b = 777
示例4: 其它写法
1、第5种
func MyFunc04(a int, b string, c float64) { }
2、第6种 func MyFunc05(a, b string, c float64, d, e int) { }
3、第7种
func MyFunc06(a string, b string, c float64, d int, e int) { }