go语音基础之函数

Posted nulige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
", 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
", 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) { }

  

 

以上是关于go语音基础之函数的主要内容,如果未能解决你的问题,请参考以下文章

go语音基础之可见性规则验证

go语音基础之goto的用法

go语音基础之switch语句 和 fallthrough 用途

go语音基础之数组比较和赋值

go语音基础之常量

go语音基础之类型转换