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语句