- 先了解一下go语言的方法定义
/**
格式 func 方法名(参数) 返回值{}
参数格式: 参数名 类型
*/
//举例第一种写法
func sum(a int, b int) int {
a = 1
b = 2
return a + b
}
//举例第二种写法
func sum(a int, b int) (sum int){
sum = a + b
return
}
//如果有类型相同的可以写一个类型
func sum(a,b int)(sum int){
sum = a + b
return
}
//第三种返回函数如果不需要或者用不到就用"_"代替
func res(a ,b int,str string)(sum int, name string){
sum = a + b
name = str
return
}
//主函数调用res方法
func main(){
sum,_ := res(10,29,"梦")
fmt.Println("sum:",sum)
}
打印结果为:39
如果想返回两个值则
sum,str := res(10,20,"梦")
两个结果都会打印
- 指针
func main() {
name := "lily"
ptr := &name
fmt.Println(ptr)//打印地址
fmt.Println(name)//打印值
fmt.Println(*ptr)//打印值
//使用new关键字定义zhiz
name2 := new(string)
*name2 = "meng"
fmt.Println(name2)//打印地址值
fmt.Println(*name2)//打印值
res := testPtr()
fmt.Println(*res)
if res == nil{
fmt.Println("res为空")
} else {
fmt.Println("为非空")
}
}
//定义一个函数返回一个string类型的指针
func testPtr() *string {
city := "深圳"
ptr := &city
return ptr
}
注:go语言中空为:nil