struct-one
golang面向对象编程
Golang
也是支持对象编程OOP
,Golang
支持面向对象编程特性Golang
没有类class
,通过结构体来实现面向对象编程Golang
的面向对象编程非常简单,没有继承、方法重载、构造函数和析构函数等;Golang
的继承是通过匿名字段来实现Golang
是面向对象接口编程的,耦合性低
结构体demo
- 一类事物的特性提取出来(比如猫类),形成一个新的数据类型,就是一个结构体
- 通过结构体来创建多个变量(实例对象)
- 事物可以是
Cat,Person,Fish
等不同的类 - 通过
type
和struct
来进行定义 - 结构体是值类型,默认是值拷贝
1 |
package main |
总结
- 结构体是自定义的数据类型,代表的是一类事物
- 结构体变量(实例)是具体的,实际的,代表的是一个具体变量
结构体声明
- 字段声明的语法同变量是一样的
- 字段的类型可以是:基本类型、数组或者引用类型
- 创建一个结构体变量后,如果么有给字段赋值,对应为零值
- 布尔对应为false
- 数值是0
- 字符串是“”
- 指针、切片和
map
的零值都是nil
,还没分配空间,需要用make
进行初始化
- 不同结构体变量的字段是相互独立的,互不影响;一个字段的修改不会影响到另一个
1 |
// 声明结构体 |
1 |
package main |
近期评论