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. 编写函数来处理和操作这个对象数组,比如过滤或排序。

相关推荐
葫芦和十三7 小时前
图解 MongoDB 05|文档模型设计:内嵌 vs 引用,反范式不是免费午餐
后端·mongodb·agent
不能放弃治疗10 小时前
单 Agent 实现模式
后端
IT_陈寒13 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
fliter13 小时前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
fliter14 小时前
用 Rust 解析并生成 ICMP 包:checksum、nom 与 cookie-factory
后端
蝎子莱莱爱打怪14 小时前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
fliter14 小时前
从 panic 到 Result:用 Rust 重新整理一个 ping 项目的错误处理
后端
森蓝情丶15 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
JensCS猿15 小时前
从 Spring Boot 回看 SSM 框架:手动挡与自动挡的驾驶哲学
后端
爱勇宝15 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员