package main
import "fmt"
type students struct {
name string
age int
marrid bool
sex int8
}
func main() {
stud_1 := students{"zhangsan",35,true,1}
stud_2 := students{"xiaohong",20,false,0}
var a *students = &stud_1
var b *students = &stud_2
fmt.Printf("\n------------------------------------------------\n")
fmt.Printf("stud_1的类型为%T,值为%v\n",stud_1,stud_1)
fmt.Printf("stud_2的类型为%T,值为%v\n",stud_2,stud_2)
fmt.Printf("\n------------------------------------------------\n")
fmt.Printf("a的类型为%T,值为%v\n",a,a)
fmt.Printf("b的类型为%T,值为%v\n",b,b)
fmt.Printf("\n------------------------------------------------\n")
fmt.Printf("*a的类型为%T,值为%v\n",*a,*a)
fmt.Printf("*b的类型为%T,值为%v\n",*b,*b)
fmt.Printf("\n------------------------------------------------\n")
fmt.Println(stud_1.name,stud_1.age,stud_1.marrid,stud_1.sex)
fmt.Println(a.name,a.age,a.marrid,a.sex)
fmt.Println((*a).name,(*a).age,(*a).marrid,(*a).sex)
fmt.Println(&a.name,&a.age,&a.marrid,&a.sex)
}
/*
------------------------------------------------
stud_1的类型为main.students,值为{zhangsan 35 true 1}
stud_2的类型为main.students,值为{xiaohong 20 false 0}
------------------------------------------------
a的类型为*main.students,值为&{zhangsan 35 true 1}
b的类型为*main.students,值为&{xiaohong 20 false 0}
------------------------------------------------
*a的类型为main.students,值为{zhangsan 35 true 1}
*b的类型为main.students,值为{xiaohong 20 false 0}
------------------------------------------------
zhangsan 35 true 1
zhangsan 35 true 1
*/