Go 语言程序:创建至少包含两个元素的 Person 结构体切片 People


在这篇文章中,我们将探讨如何创建一个 Go 程序,该程序涉及一个名为 People 的 Person 结构体切片。该切片将包含至少两个元素,分别代表具有各自姓名和地址的个人。通过探索切片的概念及其在 Go 中的用法,我们将学习如何有效地管理数据集合并在其上执行操作。让我们深入了解如何在 Go 中使用切片来处理一组 Person 结构体。在这里,我们将使用两种不同的方法:使用字面量初始化和使用 append 函数,并通过示例来阐述这个概念。

语法

person.name

它用于访问变量 person 的 name 字段。

  • person − 表示特定类型的变量。

  • name − 表示字段名称。

person.address

它用于访问变量 person 的 name 字段。

  • person − 表示特定类型的变量。

  • address − 表示字段地址。

算法

  • 定义一个具有 name 和 address 字段的 Person 结构体。

  • 创建一个名为 People 的 []Person 类型的切片。

  • 使用至少两个 Person 结构体元素初始化 People 切片。

  • 验证 People 切片的长度,以确保它至少包含两个元素。

  • 根据需要访问和修改 People 切片的元素。

  • 测试程序以确保 Person 结构体切片已正确创建。

示例 1

在这个代码示例中,我们定义了具有 Name 和 Address 字段的 Person 结构体。

接下来,我们使用字面量初始化来初始化 People 切片。切片的每个元素都是一个用花括号 {} 括起来的 Person 结构体。我们在括号内为每个人的 Name 和 Address 字段提供值。在 main 函数中,我们使用 for-range 循环遍历 people 切片。我们访问每个人并使用 fmt 包中的 Printf 函数打印他们的姓名和地址。

package main

import "fmt"

type Person struct {
   Name    string
   Address string
}

func main() {
   var people = []Person{
      {Name: "John Doe", Address: "123 Main Street"},
      {Name: "Jane Smith", Address: "456 Elm Avenue"},
   }

   for _, person := range people {
      fmt.Printf("Name: %s\n", person.Name)
      fmt.Printf("Address: %s\n", person.Address)
      fmt.Println()
   }
}

输出

Name: John Doe
Address: 123 Main Street

Name: Jane Smith
Address: 456 Elm Avenue

示例 2

在这个代码示例中,我们首先定义了具有 Name 和 Address 字段的 Person 结构体。

接下来,我们使用 var people []Person 创建一个空的 Person 结构体切片。

使用 append 函数,我们将 Person 结构体添加到 people 切片中。每个 append 语句都将一个新的 Person 结构体附加到切片中,并指定 Name 和 Address 字段的值。在 main 函数中,我们使用 for range 循环遍历 people 切片,并使用 Printf 函数打印每个人的姓名和地址。

package main

import "fmt"

type Person struct {
   Name    string
   Address string
}

func main() {
   var people []Person

   people = append(people, Person{Name: "John Doe", Address: "123 Main Street"})
   people = append(people, Person{Name: "Jane Smith", Address: "456 Elm Avenue"})

   for _, person := range people {
      fmt.Printf("Name: %s\n", person.Name)
      fmt.Printf("Address: %s\n", person.Address)
      fmt.Println()
   }
}

输出

Name: John Doe
Address: 123 Main Street

Name: Jane Smith
Address: 456 Elm Avenue

结论

在 Go 中创建 Individual 结构体的切片允许您有效地存储和管理个人信息的集合。通过遵循上面概述的算法,您将能够轻松地创建一个名为 Individuals 且至少包含两个元素的切片。在处理数据集合时,能够使用 Go 中的切片提供了灵活性。

更新于: 2023年7月20日

167 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告