go语言基础之函数有多个返回值

1、函数有多个返回值 

示例1:

package main //必须有一个main包

import "fmt"

//go推荐用法
func myfunc01() (int, int, int) {
	return 1, 2, 3
}

func main() {
	a, b, c := myfunc01()
	fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)
}

执行结果:

a = 1, b = 2, c = 3

 

示例2:

package main //必须

import "fmt"

//go官方推荐写法
func myfunc02() (a int, b int, c int) {
	a, b, c = 111, 222, 333
	return
}

func main() {
	//函数调用
	a, b, c := myfunc02()
	fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)
}

执行结果:

a = 111, b = 222, c = 333

 

示例3:

package main //必须

import "fmt"

func myfunc02() (a, b, c int) {
	a, b, c = 111, 222, 333
	return
}

func main() {
	//函数调用
	a, b, c := myfunc02()
	fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)
}

执行结果:

a = 111, b = 222, c = 333

  

函数定义说明:

l  func:函数由关键字 func 开始声明

l  FuncName:函数名称,根据约定,函数名首字母小写即为private,大写即为public

l  参数列表:函数可以有0个或多个参数,参数格式为:变量名 类型,如果有多个参数通过逗号分隔,不支持默认参数

l  返回类型:

① 上面返回值声明了两个变量名o1和o2(命名返回参数),这个不是必须,可以只有类型没有变量名

② 如果只有一个返回值且不声明返回值变量,那么你可以省略,包括返回值的括号

③ 如果没有返回值,那么就直接省略最后的返回信息

④ 如果有返回值, 那么必须在函数的内部添加return语句

posted @ 2019-01-04 15:46  努力哥  阅读(5393)  评论(0编辑  收藏  举报