在Go语言中,有三种不同的方式可以初始化结构体

在Go语言中,可以使用以下三种方式来初始化结构体:

1. 结构体字面量:我们可以使用结构体字面量的方式在代码中直接初始化一个结构体。这种方式需要写出结构体的字段名和对应的值,并使用花括号将它们包起来。

示例代码如下:

“`
type Person struct {
name string
age int
location string
}

func main() {
p := Person{name: "张三", age: 18, location: "北京"}
}
“`

2. new()函数:Go语言提供了内建函数`new()`,可以用来动态地分配一个新的结构体,并返回其地址。这种方式返回的是一个结构体指针,需要使用`*`操作符来访问结构体的字段。

示例代码如下:

“`
type Person struct {
name string
age int
location string
}

func main() {
p := new(Person)
p.name = "李四"
p.age = 20
p.location = "上海"
}
“`

3. &符号:结构体变量也可以使用`&`符号来进行初始化。这种方式和`new()`函数是等价的,都是返回结构体的指针。

示例代码如下:

“`
type Person struct {
name string
age int
location string
}

func main() {
p := &Person{name: "王五", age: 22, location: "广州"}
}
“`

Related Posts

  • 每日一练(leetDay0081):Golang实现基本计算器I\II,即Basic Calculator
  • “在Windows 10上安装Golang环境”
  • “从掌握Java到踏入Golang的领域”
  • “解决go build构建问题,即没有// +build注释的go:build注释”
  • “在VSCode中安装Go插件并设置Go环境”
  • 从零开始,介绍如何使用vs code创建go项目并运行
  • 学习 Golang 基本语法只需阅读一篇文章
  • Go语言的time库提供了许多与时间和日期相关的操作函数
  • 探究Golang中的Mutex
  • 在Windows系统中安装和设置Go环境变量的详细教程
  • 从Java转向Go:作为Java开发者,我想学习Go语言,请提供一些建议和学习资源
  • 完整解析Go语言(初学者指南)
  • 请详细阐述在golang中如何使用.()类型断言
  • 使用Go的gin框架进行基本搭建
  • Go语言–同步
  • 已经解决了安装Gin时遇到Failed to connect错误的问题的解决方案