面向对象编程三大特性-继承 1. 继承的基本介绍继承可以解决代码复用,让我们的编程更加靠近人类的思维。 当多个结构体存在相同的属性(字段)和方法时,可以从这些结构中抽象出结构体。 其它的结构体不需要重新定义这些属性(字段)和方法,只需要嵌套一个Student匿名结构体即可。 也就是说:在go中,如果一个struct嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的字段和方法,从而实现了继承特性。 嵌套匿名结构体 2024-07-21 go go
接口 1. 接口的基本介绍用于定义一组方法的集合,接口允许你定义对象的行为,而不必关心对象的具体实现,这有助于实现代码的松耦合和高内聚。 1.1 接口的定义接口是一组方法签名的集合,任何类型只要实现了这些方法,就隐式地实现了该接口 1234type Shape interface { Area() float64 Perimeter() float64} 1.2 接口的 2024-07-21 go go
面向对象编程三大特性-多态 1. 多态的定义多态是一种允许不同类型的对象通过同一接口进行操作的能力。多态性使得程序可以处理不同类型的对象,而不需要知道对象的具体类型。Go语言通过接口来实现多态。 2. 使用接口实现多态接口类型的变量可以存储任何实现了该接口的实例。 123456789101112func PrintShapeInfo(s Shape) { fmt.Printf("Area: %f\n 2024-07-21 go go
Go语言Struct结构体-工厂模式 1. 工厂模式基本介绍go的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。 一个结构体的声明是这样的: 1234package mode1type Student struct{ Name string..} 这里的Student的首字母S是大写的,如果我们想在其他包创建Student的实例(比如main包),引入mode1包后,就可以直接创建Student结构 2024-07-21 go go
面向对象编程思想-抽象 1. 抽象的基本介绍在前面定义结构体的时候,实际上就是把一类事物共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(结构体)。这种研究问题的方法称为抽象。 2. 实例1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606 2024-07-21 go go
面向对象编程三大特性-封装 1. 封装的基本介绍封装就是把抽象出来的字段和对字段的操作封装在一起,数据保护在内部,程序的其他包只有通过被授权的操作(方法),才能对字段进行操作。 隐藏实现细节 可以对数据进行验证,保证安全合理(Age) 2. 封装的实现步骤 将结构体、字段(属性)的首字母小写(不能导出了,其他包不能使用,类似private) 给结构体所在的包提供一个工厂模式的函数,首字母大写。类似一个构造函数。 提供 2024-07-21 go go
Go语言Struct结构体-面向对象编程 1. 结构体基本介绍Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型。Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性。 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title 2024-07-21 go go
GitLab_on_k8s GitLab 是一个基于 Web 流行开源 Git 仓库管理工具,可以实现代码仓库的管理、代码浏览、问题跟踪、CI/CD 等功能。GitLab 还提供了自己的 CI/CD 工具,可以方便地进行持续集成和持续部署。对于中国地区我们还可以适合国产化的版本:极狐 GitLab,致力于实现一体化 DevOps 平台。 每个节点配置代理下载镜像 1234567891011121314151617181920 2024-07-21 k8s k8s GitLab
Jenkins 1. 安装基于 Kubernetes 来做 CI/CD,需要将Jenkins安装到kubernetes集群中,安装的方式有很多,采用手动的安装方式,可以更好的了解细节,对应的资源清单文件如下。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 2024-07-21 k8s k8s Jenkins
Jenkins_Pipeline 要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式。Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。 1. 核心概念 Node:节点,一个 Node 就是一个 Jenkins 节点,Master 或者 Agent,是执 2024-07-21 k8s Jenkins Pipeline