go 学习05 关于函数

有关与函数的一些小例子

package main

import (
	"fmt"
)

//函数

//func 函数名(参数类型)(返回值类型)
func sum(x int, y int) (ret int) {
	return x + y
}

//没有返回值
func f1(x int, y int) {
	fmt.Println(x + y)
}

//没有参数 没有返回值
func f2() {
	fmt.Println("这是f2")
}

//没有参数 但有返回值
func f3() int {
	return 3
}

//参数可以命名也可以不命名
//命名的返回值就相当于 在函数中申明了一个变量 如 x,y,ret
func f4(x int, y int) (ret int) {
	ret = x + y
	return //会自动返回ret的值 可以不用写ret。 即使用命名返回值 return后的可以省略
}

//多个返回值
func f5() (int, string, int) {
	return 1, "shgdjsh", 2
}

//参数的类型简写:
//当参数中多个连续参数的类型一致时,可以将前面参数的类型省略
func f6(x, y int, a, b, c string) int {
	return x + y
}

//可变长参数
//可变长参数必须放在函数参数的最后
func f7(x bool, y ...int) {
	fmt.Println(x)
	fmt.Println(y) //y的类型是切片 []int
}

//Go语言中函数没有默认参数的概念

//主函数
func main() {
	s := sum(5, 7)
	fmt.Println(s)

	_, ss, _ := f5() //可以只去一个值
	fmt.Println(ss)

	f7(true, 123345562)

}

posted @ 2021-07-04 19:31  ZY98  阅读(37)  评论(0编辑  收藏  举报