并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发。 并发与并行 并发:同一时间段内执行多个任务。 并行:同一时刻执行多个任务,有时间上的重叠。 进程、线程、协...
并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发。 并发与并行 并发:同一时间段内执行多个任务。 并行:同一时刻执行多个任务,有时间上的重叠。 进程、线程、协...
什么是反射 官方关于反射定义: Reflection in computing is the ability of a program to examine its own ...
在实际工程项目中,总是通过程序的错误信息快速定位问题,但是又不希望错误处理代码写的冗余而又啰嗦。Go语言没有提供像Java、C#语言中的try...catch异常处理方式,而...
自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义类型。 type是Go语法里的重要而...
面向对象的三大特征: 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式 继承:使得子类具有父类的属性和方法或者重新定义、追加属性和方法等 多态:不同对象中同种行为的不同...
接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类...
方法和接收者 Go语言中的方法(Method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收者(Receiver)。接收者的概念就类似于其他语言中的this或者 s...
Go语言中的基础数据类型可以表示一些事物的基本属性,但是要表达一个事物的全部或部分属性时,这时候再用单一的基本数据类型明显就无法满足需求了,Go语言提供了一种自定义数据类型,...
指针的概念 指针是存储另一个变量的内存地址的变量。 变量是一种使用方便的占位符,用于引用计算机内存地址。 一个指针变量可以指向任何一个值的内存地址。 在上面的图中,变量b的值...
在工程化的开发项目中,Go语言的源码复用是建立在包(package)基础之上的。 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言提供了很多内置包...
函数是组织好的、可重复使用的、用于执行指定任务的代码块。 Go语言中支持函数、匿名函数和闭包,并且函数在Go语言中属于“一等公民”。 函数定义 Go语言中定义函数使用func...
Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。 map 是一种无序的键值对的集合。map 最重要的一点是通过 key 来快速检索数据,key 类似于...
因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性。 这个求和函数只能接受[3]int类型,其他的都不支持。 再比如, 数组a中已经有三个元素了,因为...
数组是同一种数据类型元素的集合。数组在内存中都是连续存放的。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法: 数组定义: 比如:...
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。 Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化...
标识符与关键字 在了解数据类型之前,先了解一下go的标识符和关键字 标识符 在编程语言中标识符就是定义的具有某种意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符允...
为什么要学 Go 性能优越感;Go 极其地快,其性能与 Java 或 C++相似。在使用中,Go 一般比 Python 要快 30 倍; 序列化/去序列化、排序和聚合中表现优...