展示推广字段使用的Golang程序
在Golang中,推广字段是嵌入在另一个结构体中的结构体,它们的字段也可以通过嵌入它们的结构体来访问。在本文中,我们将了解三种不同的方法来描绘使用推广性文件的方法,有没有指针的帮助。
使用指针
在这个例子中,我们将使用指针来显示推广字段。字段名称将用指针设置,使用点标记法打印信息。
算法
- 第1步 - 创建包main,声明可以在程序中生成可执行代码的fmt(格式化包)包。fmt有助于格式化输入和输出。
-
第2步 - 创建名为Person的结构体,包括两个字段:名称和类型为字符串和整数的年龄。
-
第三步 - 然后,创建一个Employee结构,其中*Person是一个推广字段,id是整数类型,这意味着可以通过指针访问Person的字段。
-
第4步 - 创建一个主函数,在该函数中设置Person结构中的字段值,然后使用指针将个人结构值分配给Employee结构。
-
第5步 - 使用来自fmt包的Println函数将所有员工信息打印到控制台。
示例
下面的示例演示了如何创建表示使用推广字段的Golang程序,使用指针。
package main
import "fmt"
type Person struct {
name string
age int
}
type Employee struct {
*Person
id int
}
func main() {
ps := &Person{name: "Geneva", age: 28}
emp_info := &Employee{Person: ps, id: 442}
fmt.Println("The Employee name is:", emp_info.name)
fmt.Println("The Employee age is:", emp_info.age)
fmt.Println("The Employee id is:", emp_info.id)
}
输出
The Employee name is: Geneva
The Employee age is: 28
The Employee id is: 442
不使用指针
使用此方法,将创建一个人和员工结构体,其中员工结构体将包含其值在主函数中设置并使用字段进行打印的推广字段。
算法
- 第1步 - 创建包main,声明可以在程序中生成可执行代码的fmt(格式化包)包。fmt有助于格式化输入和输出。
-
第2步 - 创建名为Person的结构体,包括两个字段:名称和类型为字符串和整数的年龄。
-
第3步 - 然后,创建一个Employee结构,其中id是整数类型,person是结构中的一个推广字段。
-
第4步 - 现在,创建一个主函数,在该函数中创建一个Employee结构,并向推广字段Person的名称和年龄提供值,并将值分配给id。
-
第5步 - 最终,使用emp_info.name,emp_info.age和emp_info.id语法访问Person的名称和年龄。
-
第6步 - 使用来自fmt包的Println函数将上述所有信息打印到控制台,其中ln指新行。
示例
在下面的示例中,我们将了解如何创建表示使用推广字段的Golang程序,而不使用指针。
package main
import "fmt"
type Person struct {
name string // 名称
age int // 年龄
}
type Employee struct {
Person // 推广字段
id int // id号
}
func main() {
emp_info := Employee{
Person: Person{
name: "Veronica",
age: 36,
},
id: 600,
}
fmt.Println("The Employee name is:", emp_info.name) // 打印雇员姓名
fmt.Println("The Employee age is:", emp_info.age) // 打印雇员年龄
fmt.Println("The Employee id is:", emp_info.id) // 打印雇员id号
}
输出结果
The Employee name is: Veronica
The Employee age is: 36
The Employee id is: 600
使用Animal和Dog结构体
在这个例子中,我们将写一个Golang程序来展示使用Animal和Dog结构体的推广字段。Animal结构体是Dog结构体的推广字段。
算法
- 步骤1 - 创建一个包main并在程序中声明fmt(format包)包,其中main生成可执行代码,fmt帮助格式化输入和输出。
-
步骤2 - 创建一个具有两个字段名称为string和age为int类型的Animal结构体
-
步骤3 - 然后,创建一个Dog结构体,其中包含一个推广字段Animal和另一个字段Breed,类型为string。
-
步骤4 - 创建一个main函数,在其中设置推广字段的值,并将其存储在Dog_struct中
-
步骤5 - 使用存储变量和点符号访问字段。
-
步骤6 - 然后,使用相同的符号访问推广字段。
-
步骤7 - 使用fmt包的Println函数执行打印语句,其中ln表示换行。
示例
下面的示例展示了如何创建Golang程序,以展示使用Animal和Dog结构体的推广字段。
package main
import "fmt"
type Animal struct {
name string // 名称
age int // 年龄
}
type Dog struct {
Animal // 推广字段
Breed string // 品种
}
func main() {
Dog_struct := Dog{
Animal: Animal{
name: "pommy",
age: 6,
},
Breed: "Labrador retriever", // 拉布拉多猎犬
}
fmt.Println(Dog_struct.name) // 打印狗的名字
fmt.Println(Dog_struct.age) // 打印狗的年龄
fmt.Println(Dog_struct.Breed) // 打印狗的品种
fmt.Println(Dog_struct.Animal.name) // 打印动物的名字
fmt.Println(Dog_struct.Animal.age) // 打印动物的年龄
}
输出结果
pommy
6
Labrador retriever
pommy
6
结论
我们编译并执行了三个例子,展示了推广字段的使用。在第一个例子中,推广字段的值在结构体中设置,而在第二个例子中,它们使用指针设置,在第三个例子中,我们使用了一个Animal结构体。