Go函数定义函数
func function_name( [parameter list] ) [return_types] { 函数体 }
2.同时这个规则也适用于变量的可见性,即首字母大写的变量才是全局的指针
func max(num1,num2 int) int { var result int if num1 > num1 { result = num1 }else { result = num2 } return result } func main() { var a int = 100 var b int = 200 var ret int ret = max(a,b) fmt.Println(ret) }
多返回值code
func swap(x,y string) (string,string) { return y,x } func main() { //a,b := swap("hello","world") a,_ := swap("hello","world") //只关注一个值可使用下划线代替 fmt.Println(a) }
* 值传递 func main() { var a int = 100 var b int = 200 fmt.Println("交换前",a) fmt.Println("交换后",b) swap(a,b) fmt.Println("交换后",a) fmt.Println("交换后",b) } func swap(x,y int) int { var temp int temp = x x = y y = temp return temp } * 执行结果 交换前 100 交换后 200 交换后 100 交换后 200
* 引用传递 func main() { var a int = 100 var b int = 200 fmt.Println("交换前",a) fmt.Println("交换后",b) /* 调用 swap() 函数 &a 指向 a 指针,a 变量的地址 &b 指向 b 指针,b 变量的地址 */ swap(&a,&b) fmt.Println("交换后",a) fmt.Println("交换后",b) } func swap(x,y *int) int { var temp int temp = *x *x = *y *y = temp return temp } * 执行结果 交换前 100 交换后 200 交换后 200 交换后 100