第九节——结构体
Posted 想学习安全的小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第九节——结构体相关的知识,希望对你有一定的参考价值。
结构体的定义
- 定义格式:
type 类型名 struct
字段名 字段类型
字段名 字段类型
…
- 例子:
type person struct
name string
city string
age int8
结构体实例化
- 格式:
var 结构体实例 结构体类型
- 例子:
type person struct
name string
city string
age int8
func main()
var p1 person
p1.name = "沙河娜扎"
p1.city = "北京"
p1.age = 18
fmt.Printf("p1=%v\\n", p1) //p1=沙河娜扎 北京 18
//第二种方法
p5 := person
name: "小王子",
city: "北京",
age: 18,
自定义结构体的构造函数
- 定义:Go语言的结构体没有构造函数,我们可以自己实现。
- 举例:
//Person 结构体
type Person struct
name string
city string
age int8
//定义构造函数
func newPerson(name, city string, age int8) *person
return &person
name: name,
city: city,
age: age,
//调用
p9 := newPerson("张三", "沙河", 90)
fmt.Printf("%#v\\n", p9) //&main.personname:"张三", city:"沙河", age:90
结构体中的方法
- 定义:Go语言中的方法(Method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收者(Receiver)。接收者的概念就类似于其他语言中的this或者 self。
- 格式:
func (接收者变量 接收者类型) 方法名(参数列表) (返回参数)
函数体
- 举例:
//Person 结构体
type Person struct
name string
age int8
//Dream Person做梦的方法
func (p Person) Dream()
fmt.Printf("%s的梦想是学好Go语言!\\n", p.name)
func main()
p1 := NewPerson("小王子", 25)
p1.Dream()
以上是关于第九节——结构体的主要内容,如果未能解决你的问题,请参考以下文章