Go语言编程定义结构体“人员”,包含字段姓名、年龄、性别,定义结构体“老师”,内嵌结构体“人员”,并包含新字段部门,定义结构体“学生”,内嵌结构体“人员”,并包含,新字段学号、专业。初始化结构体“老师”和“学生”,并打印这两个结构体的值。
时间: 2023-09-10 16:05:03 浏览: 77
下面是代码实现:
```go
package main
import "fmt"
type 人员 struct {
姓名 string
年龄 int
性别 string
}
type 老师 struct {
人员
部门 string
}
type 学生 struct {
人员
学号 string
专业 string
}
func main() {
t := 老师{人员{"张三", 35, "男"}, "计算机系"}
s := 学生{人员{"李四", 20, "女"}, "20190001", "软件工程"}
fmt.Printf("老师信息:姓名:%s,年龄:%d,性别:%s,部门:%s\n", t.姓名, t.年龄, t.性别, t.部门)
fmt.Printf("学生信息:姓名:%s,年龄:%d,性别:%s,学号:%s,专业:%s\n", s.姓名, s.年龄, s.性别, s.学号, s.专业)
}
```
输出结果为:
```
老师信息:姓名:张三,年龄:35,性别:男,部门:计算机系
学生信息:姓名:李四,年龄:20,性别:女,学号:20190001,专业:软件工程
```
其中,结构体的内嵌可以使得子结构体继承父结构体的字段和方法,这样可以避免重复定义相同的字段和方法。
阅读全文