为了更好地理解这个示例,我们始终建议您学习下面列出的 Golang 编程 的基础主题
Golang中的结构体(struct)是一种用户定义类型,包含命名字段/属性的集合。这意味着它将可能不同类型的项组合成一个单一类型。通常,这与面向对象编程中的类的概念几乎相同。你可以说结构体是一种轻量级类,它支持组合而不是继承。通过使用struct关键字,你可以在Go中定义一个结构体。
type struct_name struct {
// fields
}
这里的type关键字用于引入一个新类型。其后是类型名称。关键字struct用于表示我们正在定义一个结构体类型,并在花括号内列出字段。这里每个字段都有一个名称和一个类型。
在本节中,我们将重点关注结构体。例如,员工记录包含ID、姓名、职位和薪资。将这五个属性组合成一个单一的Employee结构体是合理的。通过使用结构体概念,你可以读取和显示员工记录。
下面的程序将解释如何在Go编程中创建结构体,创建实例,为结构体实例设置值,以及读取和打印结构体实例。
这里我们可以使用内置函数fmt.scanln()来读取输入值。输出可以通过使用内置函数fmt.println()来显示。这两个内置函数都定义在fmt包下。为了使用这些函数,我们应该将“fmt”包导入到我们的程序中。
下面是在Go程序中实现结构体所使用的步骤。
步骤 1:开始
步骤2:导入fmt包
步骤3:定义一个结构体'Employee',包括员工的ID、姓名、职位和薪资。
步骤4:打开main()函数开始程序,GO程序执行从main()开始
步骤5:声明结构体变量emp1和emp2。
步骤6:使用emp1和emp2读取员工详细信息。
步骤7:在屏幕上显示员工详细信息。
步骤8:退出
package main
import (
"fmt"
)
//define a struct 'Employee'
type Employee struct {
id int
name string
post string
salary int
}
func main() {
var emp1 Employee
emp2 := new(Employee)
// setting values
emp1.id = 101
emp1.name = "Employee 1"
emp1.post = "manager"
emp1.salary = 60000
emp2.id = 102
emp2.name = "Employee 2"
emp2.post = "Administrator"
emp2.salary = 30000
// displays Employee details
fmt.Println("Employees Details")
fmt.Println("----------------")
fmt.Printf("Id: %d\n", emp1.id)
fmt.Printf("Name: %s\n", emp1.name)
fmt.Printf("Post: %s\n", emp1.post)
fmt.Printf("Salary: %d\n", emp1.salary)
fmt.Println("----------------")
fmt.Printf("Id: %d\n", emp2.id)
fmt.Printf("Name: %s\n", emp2.name)
fmt.Printf("Post: %s\n", emp2. post)
fmt.Printf("Salary: %d\n", emp2. salary)
}
Employees Details ---------------- Id: 101 Name: Employee 1 Post: manager Salary: 60000 ---------------- Id: 102 Name: Employee 2 Post: Administrator Salary: 30000