1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| package main
import "fmt"
type Flower struct { name, color string }
func main() { //1、结构体作为参数的用法 f1 := Flower{"玫瑰", "红"} fmt.Printf("f1: %T , %v , %p \n" , f1 , f1 , &f1) fmt.Println("----------------------")
//将结构体对象作为参数 changeInfo1(f1) fmt.Printf("f1: %T , %v , %p \n" , f1 , f1 , &f1) fmt.Println("----------------------")
// 将结构体指针作为参数 changeInfo2(&f1) fmt.Printf("f1: %T , %v , %p \n" , f1 , f1 , &f1) fmt.Println("----------------------")
}
//返回结构体对象 func getFlower1() (f Flower){ f = Flower{"牡丹", "白"} fmt.Printf("函数getFlower1内f: %T , %v , %p \n" , f , f , &f) return }
//返回结构体指针 func getFlower2() (f *Flower){ //f = &Flower{"芙蓉", "红"} temp := Flower{"芙蓉", "红"} fmt.Printf("函数getFlower2内temp: %T , %v , %p \n" , temp , temp , &temp) f = &temp fmt.Printf("函数getFlower2内f: %T , %v , %p , %p \n" , f , f , f , &f) return }
|