17.Golang接口介绍

[TOC]前言go语言并没有面向对象的相关概念,go语言提到的接口和java、c++等语言提到的接口不同,它不会显示的说明实现了接口,没有继承、子类、implements关键词。一、概述在 Go 语言中接口包含两种含义:它既是方法的集合, 同时还是一种类型。在Go 语言中是隐式实现的,意思就是对于一个具体的类型,不需要声明它实现了哪些接口,只需要提供接口所必需的方法。go语言通过隐性的方式实...

GO 2022-07-07 PM 753次 0条

16.Golang方法和函数区别

[TOC]前言在前面的章节中介绍过了Golang中的方法和函数,但是如果不进行比较,对于两者的认识还是很容易产生混淆。一、概述Go语言支持方法。Go方法与Go函数相似,但有一点不同,方法就是一个包含了接收者参数的函数。在接收者参数的帮助下,该方法可以访问接收者的属性。接收方可以是结构类型或非结构类型。在代码中创建方法时,接收者和接收者类型必须出现在同一个包中。而且不允许创建一个方法,其中的接...

GO 2022-07-06 AM 973次 0条

15.Golang流程控制

[TOC]前言一、概述流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。流程控制语句有三个作用:选择:根据条件跳转到不同的执行序列;循环:根据条件反复执行某个序列;跳转:据条件返回到某执行序列。流程控制语句类型Go语言支持如下的几种流程控制语句:条件语句:关键字为if、else和else if。选择语句:关键字为switch、case和select。...

GO 2022-07-05 PM 673次 0条

14.Go module介绍

[TOC]前言一、概述大多数语言都有“依赖”、“包”等概念,Go语言的依赖处理经历了几次变革。最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面从v1.5开始引入vendor模式,如果项目目录下有vendor目录,那么go工具链会优先使用vendor内的包进行编译、测试等从v1.11开始,引入了Go Module 作为依赖解决方案,到v1.14宣布Go Module已经可以...

GO 2022-07-04 PM 1219次 0条

13.Golang包介绍

[TOC]前言Go语言是使用包来组织源代码的,包(package)是多个 Go 源码的集合,是一种高级的代码复用方案。Go语言中为我们提供了很多内置包,如 fmt、os、io 等。任何源代码文件必须属于某个包,同时源码文件的第一行有效代码必须是package pacakgeName 语句,通过该语句声明自己所在的包。一、概述Go语言的包借助了目录树的组织形式,一般包的名称就是其源文件所在目录...

GO 2022-07-04 PM 760次 0条

12.Golang函数

[TOC]前言一、概述函数 是基于功能或逻辑进行封装的可复用的代码结构。将一段功能复杂、很长的一段代码封装成多个代码片段(即函数),有助于提高代码可读性和可维护性。由于 Go 语言是编译型语言,所以函数编写的顺序是无关紧要的。特点无需声明原型支持不定变参支持多返回值支持命名返回参数支持匿名函数和闭包函数也是一种类型,一个函数可以赋值给变量不支持函数嵌套 (nested) ,但可以嵌套匿名函数...

GO 2022-07-03 PM 711次 0条

11.Golang结构体(二)

[TOC]前言一、方法和接收者1.1 格式定义Go语言中的方法(Method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收者(Receiver)。接收者的概念就类似于其他语言中的this或者 self。方法的定义格式如下:func (接收者变量 接收者类型) 方法名(参数列表) (返回参数) { 函数体 }说明接收者变量:接收者中的参数变量名在命名时,官方建议使用接收者类...

GO 2022-07-03 PM 702次 0条

10.Golang结构体(一)

[TOC]前言一、概述结构体(struct) 是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体。每个值称为结构体的成员。学过 C 或 C++ 的人都知道结构体,但在 Go 中,没有像 C++ 中的 class 类的概念,只有 struct 结构体的概念,所以也没有继承。结构体成员也可以称为“字段”,这些字段有以下特性:字段拥有自己的类型和值;字段名必须唯一;字段的类型也可以是结构...

GO 2022-07-02 PM 973次 0条

09.Golang指针介绍

[TOC]前言一、概述指针也是一种类型,也可以创建变量,称之为指针变量。指针变量的类型为 *Type,该指针指向一个 Type 类型的变量。指针变量最大的特点就是存储的某个实际变量的内存地址,通过记录某个变量的地址,从而间接的操作该变量。比如,想把"100"这个数写入程序中作为一个变量,程序一启动将数字"100"加载到内存当中,假设内存地址是0x0201),在程序中将数字"100"赋值给变量...

GO 2022-07-01 PM 802次 0条

08.Golang容器之Map

[TOC]前言一、概念Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。所有可比较的类型,如 整型 ,字符串 等,都可以作为 key 。二、map定义2.1 声明方式map 是引用类型,可以使用如下方式声明:var mapname map[keytype]valuety...

GO 2022-06-30 PM 824次 0条