/*
数据类型:
数据复杂度:
基本类型: int, float, bool, string
复合类型:array,slice,map,function, pointer,struct
存储的数据特点(结构)
值类型: int, float, bool, string, array, struct
引用类型:slice, map, function, pointer
*/
package main
import (
"fmt"
)
type Person struct {
name string
age int
sex string
}
func main (){
// 方法一
var p1 Person
fmt.Println(p1)
p1.name="zhangtao"
p1.age=34
p1.sex="男"
fmt.Println(p1)
fmt.Printf("姓名:%s, 年纪:%d, 性别:%s\n",p1.name,p1.age,p1.sex)
//方法二
p2:=Person{}
p2.name="junkan"
p2.age=34
p2.sex="男"
fmt.Printf("姓名:%s, 年纪:%d, 性别:%s\n",p2.name,p2.age,p2.sex)
//方法三
p3:=Person{name:"lisi",age:56,sex:"女"}
fmt.Printf("姓名:%s, 年纪:%d, 性别:%s\n",p3.name,p3.age,p3.sex)
p4:=Person{
name:"liwu",
age:23,
sex:"男",
}
fmt.Printf("姓名:%s, 年纪:%d, 性别:%s\n",p4.name,p4.age,p4.sex)
//方法四
p5:=Person{"四中天",67,"男"} // 注意赋值顺序
fmt.Printf("姓名:%s, 年纪:%d, 性别:%s\n",p5.name,p5.age,p5.sex)
//方法五 使用内置的函数new() ,go语言中专门用于创建某种类型的指针的函数。
p6:=new(Person)
fmt.Printf("%T,%T\n",p1,p6)
(*p6).name="指针"
p6.age=67 // 语法糖 简化写法 (*p6).age====>p6.age
p6.sex="女"
fmt.Printf("姓名:%s, 年纪:%d, 性别:%s\n",p6.name,p6.age,p6.sex)
fmt.Println(p6)
fmt.Printf("%p\n",p6)
}
有疑问加站长微信联系(非本文作者)