go语言基础 结构体 struct

本文介绍Go语言中结构体的定义方法与不同方式创建结构体实例的过程,包括直接初始化、使用字段名初始化及通过new()函数创建指针。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、结构体的定义:
type 结构体名 struct{
// 属性,字段,field
字段名 字段类型
。。。
}
2、创建对象:
对象名 := 结构体名{val1,val2,val3...} //保证顺序
对象名 := 结构体名{字段名:val1,字段名:val2,...}
对象名 := 结构体名{}
对象名.字段名 ,进行赋值和取值
对象名 := new(Type) //指针
package main

import "fmt"

/*
定义一个结构体
type 结构体名 struct{
   字段名 类型
}
 */
type person1 struct {
   name string //姓名
   age int // 年龄
   sex string // 性别
}

func main()  {
   //根据类实例化对象:根据结构体创建该结构体类型的变量
   //1.
   var p1 person1
   fmt.Println(p1) //{ 0 }
   // 对象.属性= 赋值
   p1.name = "王二狗"
   p1.age = 30
   p1.sex = "男"
   fmt.Println(p1)//{王二狗 30 男}
   fmt.Println("姓名:",p1.name,"年龄",p1.age,"性别:",p1.sex)
   fmt.Printf("%T,%p\n",p1, &p1) //main.person1,0xc042076060

   //2.
   p2 := person1{"李小花", 18,"女"} //注意赋值顺序
   fmt.Println(p2)
   fmt.Printf("%T,%p\n",p2,&p2) //main.person1,0xc042076120

   //3
   p3 := person1{age:30,sex:"男",name:"三胖"}
   p4 := person1{
      name:"rose",
      age:30,
      sex:"女",
   }
   fmt.Printf("%T,%p\n",p3,&p3) //main.person1,0xc0420781b0
   fmt.Println(p4) //{rose 30 女}
   //4.new(),内置函数,用于创建指针
   p5 := new(person1)
   fmt.Printf("%T\n",p5) //*main.person1
   (*p5).name="隔壁老王"
   p5.age = 30 // 简写
   p5.sex = "男"
   fmt.Println(p5) //&{隔壁老王 30 男}


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值