go创建对象数组

在 Go 语言中,可以使用字面量的方式创建结构体对象数组。以下是一个示例代码,展示了如何使用字面量创建一个结构体对象数组:

go 复制代码
package main

import "fmt"

// 定义一个结构体
type Person struct {
    Name string
    Age  int
    Address Address
}

// 定义嵌套的结构体
type Address struct {
    City  string
    State string
}

func main() {
    // 使用字面量的方式创建一个 Person 对象数组
    people := []Person{
        {
            Name: "Alice",
            Age:  30,
            Address: Address{
                City:  "San Francisco",
                State: "CA",
            },
        },
        {
            Name: "Bob",
            Age:  25,
            Address: Address{
                City:  "Los Angeles",
                State: "CA",
            },
        },
        {
            Name: "Charlie",
            Age:  35,
            Address: Address{
                City:  "New York",
                State: "NY",
            },
        },
    }

    // 打印每个对象的信息
    for _, person := range people {
        fmt.Println("Name:", person.Name)
        fmt.Println("Age:", person.Age)
        fmt.Println("City:", person.Address.City)
        fmt.Println("State:", person.Address.State)
        fmt.Println()
    }
}

在这个例子中:

  1. 定义了一个 Person 结构体,包含 NameAgeAddress 字段。
  2. Address 字段本身是一个结构体,包含 CityState 字段。
  3. main 函数中,使用字面量的方式创建了一个 Person 对象数组 people,并初始化了每个 Person 对象的字段。
  4. 最后,使用 for 循环遍历数组,打印每个 Person 对象的字段值。

这种方法不仅可以初始化单个对象,还可以方便地初始化对象数组。

后续建议:
a. 尝试向 Person 结构体中添加更多字段,并初始化这些字段。
b. 编写函数来处理和操作这个对象数组,比如过滤或排序。

相关推荐
No0d1es几秒前
CCF GESP C++编程 四级认证真题 2025年3月
开发语言·c++·青少年编程·gesp·ccf·四级·202503
Asthenia041212 分钟前
编译原理基础:LL(1) 文法与 LL(1) 分析法
后端
꧁坚持很酷꧂20 分钟前
Qt实现点击按钮弹出侧边框(可用于登录界面)
开发语言·qt
No0d1es25 分钟前
CCF GESP C++编程 五级认证真题 2025年3月
开发语言·c++·青少年编程·gesp·ccf·五级·2025年3月
Asthenia041232 分钟前
编译原理基础:FIRST 集合与 FOLLOW 集合的构造与差异
后端
独好紫罗兰34 分钟前
洛谷题单3-P1217 [USACO1.5] 回文质数 Prime Palindromes-python-流程图重构
开发语言·python·算法
独好紫罗兰40 分钟前
洛谷题单2-P1424 小鱼的航程(改进版)-python-流程图重构
开发语言·python·算法
Asthenia041242 分钟前
编译原理基础:FOLLOW 集合与 LL(1) 文法条件
后端
Asthenia04121 小时前
编译原理基础:FIRST 集合与提取公共左因子
后端
加瓦点灯1 小时前
观察者模式:解耦对象间的依赖关系
开发语言·javascript·观察者模式