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 结构体,包含 Name、Age 和 Address 字段。
  2. Address 字段本身是一个结构体,包含 City 和 State 字段。
  3. 在 main 函数中,使用字面量的方式创建了一个 Person 对象数组 people,并初始化了每个 Person 对象的字段。
  4. 最后,使用 for 循环遍历数组,打印每个 Person 对象的字段值。

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

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

相关推荐
mantou13212 分钟前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端
程序员老赵16 分钟前
Docker 部署 DeepSeek Harness:轻松搭建局域网里的 AI Agent 平台
后端·ai编程·deepseek
YIAN21 分钟前
实战|用 DeepSeek + SQLite 从零搭建轻量 Text2SQL 查询助手
后端·sqlite·deepseek
王中阳Go21 分钟前
自己摸了 2 个月零 offer,补底子只用了 3 块:Go 后端转 AI 最难的不是技术
后端·agent·ai编程
高频因子挖掘机24 分钟前
第一次补历史行情:按股票拆,还是按日期拆请求?
后端·github·api
小园子的小菜27 分钟前
Python协程深度解析:从原理演进到实战避坑
后端·python
code2cat42 分钟前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
高频因子挖掘机1 小时前
300 只股票 × 两年日 K:为什么逐只循环会变成维护灾难?
后端·github·api
CappuccinoRose1 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
Zguigo1 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++