【GO】复合类型:封装结构体

简介: 【GO】复合类型:封装结构体

代码

https://github.com/fangkang7/goLearn.git

案例

image.png

package main
import "fmt"
func main() {
  type Person struct {
    name string
    age  int
    sex  bool
    like []string
  }
  p := Person{}
  p.name = "咔咔"
  p.age = 24
  p.sex = true
  p.like = []string{"buk", "写代码"}
  // 直接获取值
  fmt.Printf("p的值是%v\n", p)
  // 获取键值
  fmt.Printf("p的值是%+v\n", p)
  // 获取结构体和键值
  fmt.Printf("p的值是%#v\n", p)
}

总结

这一节没有什么难度,主要就是一个结构体的声明和赋值

在打印的时候有三种第一种跟正常打印没有什么区别

第二种是使用的+v这种方式会把键值都打印出来

第三种是使用的#v这种方式会把架构体名和键值都打印出来

相关文章
|
21天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
94 71
|
1月前
|
存储 Rust Go
Go nil 空结构体 空接口有什么区别?
本文介绍了Go语言中的`nil`、空结构体和空接口的区别。`nil`是预定义的零值变量,适用于指针、管道等类型;空结构体大小为0,多个空结构体实例指向同一地址;空接口由`_type`和`data`字段组成,仅当两者均为`nil`时,空接口才为`nil`。
Go nil 空结构体 空接口有什么区别?
|
1月前
|
编译器 Go
探索 Go 语言中的内存对齐:为什么结构体大小会有所不同?
在 Go 语言中,内存对齐是优化内存访问速度的重要概念。通过调整数据在内存中的位置,编译器确保不同类型的数据能够高效访问。本文通过示例代码展示了两个结构体 `A` 和 `B`,尽管字段相同但排列不同,导致内存占用分别为 40 字节和 48 字节。通过分析内存布局,解释了内存对齐的原因,并提供了优化结构体字段顺序的方法,以减少内存填充,提高性能。
42 3
|
1月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
41 4
|
1月前
|
Go
go语言常量的类型
【10月更文挑战第20天】
26 2
|
3月前
|
Go
Go to Learn Go之结构体
Go to Learn Go之结构体
41 5
|
3月前
|
存储 Go
Go: struct 结构体类型和指针【学习笔记记录】
本文是Go语言中struct结构体类型和指针的学习笔记,包括结构体的定义、成员访问、使用匿名字段,以及指针变量的声明使用、指针数组定义使用和函数传参修改值的方法。
|
21天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
34 7
|
21天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
20天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
101 67