面向对象编程三大特性-继承 1. 继承的基本介绍继承可以解决代码复用,让我们的编程更加靠近人类的思维。 当多个结构体存在相同的属性(字段)和方法时,可以从这些结构中抽象出结构体。 其它的结构体不需要重新定义这些属性(字段)和方法,只需要嵌套一个Student匿名结构体即可。 也就是说:在go中,如果一个struct嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的字段和方法,从而实现了继承特性。 嵌套匿名结构体 2024-05-21 go go
面向对象编程三大特性-封装 1. 封装的基本介绍封装就是把抽象出来的字段和对字段的操作封装在一起,数据保护在内部,程序的其他包只有通过被授权的操作(方法),才能对字段进行操作。 隐藏实现细节 可以对数据进行验证,保证安全合理(Age) 2. 封装的实现步骤 将结构体、字段(属性)的首字母小写(不能导出了,其他包不能使用,类似private) 给结构体所在的包提供一个工厂模式的函数,首字母大写。类似一个构造函数。 提供 2024-05-20 go go
面向对象编程思想-抽象 1. 抽象的基本介绍在前面定义结构体的时候,实际上就是把一类事物共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(结构体)。这种研究问题的方法称为抽象。 2. 实例1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606 2024-05-20 go go
Go语言Struct结构体-工厂模式 1. 工厂模式基本介绍go的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。 一个结构体的声明是这样的: 1234package mode1type Student struct{ Name string..} 这里的Student的首字母S是大写的,如果我们想在其他包创建Student的实例(比如main包),引入mode1包后,就可以直接创建Student结构 2024-05-20 go go
Go语言Struct结构体-方法 1. 方法的基本介绍在某些情况下,我们需要声明(定义)方法。比如Person结构体:除了有一些字段外(年龄,姓名。。),Person结构体还有一些行为比如:可以说话、跑步。。。通过学习,还可以做算术题。这时候就要用方法才能完成。 go中的方法是作用在指定的数据类型上面的(即:和指定的数据类型绑定的),因此自定义类型,都可以有方法,而不仅仅是struct。 2. 方法的创建基本语法 12345678 2024-05-19 go go
Go语言Struct结构体-面向对象编程 1. 结构体基本介绍Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型。Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性。 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title 2024-05-18 go go
Go语言map集合 1. map介绍map是一种无序的键值对集合。map最重要的一点就是通过key来快速检索数据,key类似索引,指向数据的值。 map是一种集合,所以我们可以像迭代数组和切片那样去迭代它。不过,map是无序的,我们无法决定它的返回数据,这是因为map是使用hash表来实现的 基本语法 1234567891011//声明变量var 变量名 map[keytype]valuetype//使用变量//注意 2024-05-18 go go
Go语言二维数组 1. 二维数组的使用一、二二维数组的应用: 比如开发一个五子棋游戏,棋盘是需要二维数组来表示,如图: 2. 定义一个二维数组2.1 先声明\定义,再赋值12var 数组名 [大小][大小]类型var arr [2][3]int 2.2 直接初始化1234var 数组名 [大小][大小]类型 = [大小][大小]类型{{初值...},{初值...} 2024-05-18 go go
containerd配置代理 1. 配置代理要在**/etc/systemd/system/containerd.service.d/http-proxy.conf**[Service]下插入 1234567cat >/etc/systemd/system/containerd.service.d/http-proxy.conf<<END[Service]Environment="HTTP_PROX 2024-05-18 troubleshooting k8s
Go语言切片 1. 什么是切片go语言的切片是对数组的抽象 go数组的长度不可更改,在特定场景中这样的集合就不太适用,go中提供了一种灵活,功能强悍的内置类型切片(动态数组),与数组相比切片的长度是不固定的,可以追加元素,再追加时可能使切片的容量增大,比方说存放学生成绩,那学生的个数是不确定的,这样就可以用切片。 go语言中切片的内部结构包含地址、大小和容量,切片一般用于快速地操作一块数据集合,如果将数据集合比 2024-05-15 go go