struct 创建 & 对象创建

code · · 1656 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

/*
      数据类型:
       数据复杂度:
             基本类型: 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)

}


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:code

查看原文:struct 创建 & 对象创建

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1656 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传