• Go 语言中的闭包

    本文主要介绍 Go 语言中的闭包。简单的说 Go 语言的闭包就是一个引用了外部自由变量的匿名函数,被引用的自由变量和该匿名函数共同存在,不会因为离开了外部环境就被释放或者删除,还可以在这个匿名函数中继续使用。   1. Go 语言的匿名函数 在上文中我们了解到了一个新的词汇——匿名函数,我们先来学习一下Go语言中的匿名函数,再来了解在 Go 语言中如何使用闭包。匿名函数,顾名思义,就是隐藏函数名的函数。 代码示例: 代码块 1  package main 2 3  import ( 4…

    go开发, 技术干货 2020年9月18日
  • Go 语言函数中的defer

    在 Go 语言中的 defer 关键字就是 Go 语言中延迟语句的标志。Go 语言会在函数即将返回时按逆序执行 defer 后的语句。也就是说先被 defer 的语句后执行,最先执行最后被 defer 的语句。defer 和有些语言中的 finally 语句块的用法类似,一般都用于释放一些资源,最常用的地方就是进程锁的释放。 Tips:关于 defer 的进程锁的释放在 Go 语言的多线程中会有介绍。   1. defer 的逆序执行 defer 会在函数即将结束的时候执行,而且是按照…

    go开发, 技术干货 2020年9月18日
  • Go 语言中的函数

    本文来介绍 Go 语言中的函数。Go 语言的函数和其它语言的用法类似,但是 Go 语言中所有东西都是变量,包括函数,函数在 Go 语言中也是变量的一种,所以函数名的命名规则和变量名相同,同时这个和我们后面要讲解的函数式编程有关,目前本文仅介绍 Go 语言中函数的声明和使用。   1. 函数的定义和使用 Go 语言中,通过 func 关键字来声明和定义函数。Go 语言和 C 语言不同,Go 语言函数的声明和定义是一起的,不存在先声明在定义,且声明时不分前后均可互相调用。 代码示例 代码块…

    go开发, 技术干货 2020年9月18日
  • Go 语言的通道

    Go 语言中有一个特殊的类型 chan,这是在 Go 语言的多线程操作中非常重要的一个数据类型。它的一般用于线程之间的数据传输,所以这个操作类型叫做”通道(channel)“。   1. 通道的声明和定义 通道可以理解为一种特殊的变量,所以它的声明和其它变量的声明并没有太大的区别,声明通道变量的写法如下: var c chan int //声明一个存放int类型数据的通道 代码块 1 但是它声明之后并不能直接使用,需要使用内置函数 make() 来创建一下通道变…

    go开发, 技术干货 2020年9月18日
  • Go 语言的循环语句

    在 Go 语言中减少了循环语句的关键字,仅有一个 for 关键字。但是并没有减少其功能,而且它更是兼容了其它语言中的while关键字的用法,甚至更强大。   1. for 循环语句   1.1 普通用法 在 Go 语言中,for 循环之后一样可以跟三个语句,单次表达式;条件表达式;末尾循环体,但是它不需要使用()来包裹这三个表达式,写法上更加的简洁。同时它也和其它语言一样,可以任意省略这三个表达式。 代码示例: 代码块 1  package main 2 3  import …

    go开发, 技术干货 2020年9月18日
  • Go 语言的分支语句

    本文主要学习 Go 语言中的分支语句。一共要介绍的有两个,分别式 if…else 和 switch…case。他们二者在 Go 语言中都做了新的功能拓展。 Tips:其中还有一个分支语句select…case我们将在Go语言的通道中介绍。   1. if…else 在 Go 语言中 if 关键字的作用和其它大部分语言相同,是用于测试某个布尔表达式或布尔值是否为真的。若为真则执行if之后{}中的语句,否则跳过这些语句。如果存在第二个分支,则需要使用 else 关键字,还需要增加分支的话就…

    go开发, 技术干货 2020年9月18日
  • Go 语言中的运算符

    本文主要介绍 Go语言中的各种运算符的使用以及其优先级的比较。Go 语言中运算符分为下面几大类: 算数运算符; 关系运算符; 逻辑运算符; 位运算符; 复制运算符。 下面我们就来一一看下这几种运算符如何使用。   1. Go 语言的算数运算符 Go语言中的算数运算符如表所示: 运算符 结合性 描述 + 从左到右 运算符左边的实体加上右边的实体 – 从左到右 运算符左边的实体减去右边的实体 * 从左到右 运算符左边的实体乘以右边的实体 / 从左到右 运算符左边的实体除以右边的…

    go开发, 技术干货 2020年9月18日
  • Go 语言中代替枚举的办法

    枚举类型用于声明一组命名的常量,当一个变量有几种可能的取值时,可以将它定义为枚举类型。在 Go 语言中,并没有提供枚举类型,但是枚举类型又是开发过程中非常重要的数据类型。因为它可以事先定义一组有效的值,可以有效地防止用户提交无效数据,抽象到业务场景中就是我们平时网页上遇到的下拉框,或者我们选择快递地址时的省市信息,均为枚举类型的用武之地。所以在 Go 语言中对常量进行了一定的扩展,使其可以完美地替代枚举类型。   1.常量中的iota 为了使常量可以更好地替代枚举类型,Go 语言提供了…

    go开发, 技术干货 2020年9月18日
  • Go 语言的常量

    常量可以理解为是一个存储了不可以改变的值的变量。常量主要用于特殊值的语义化,使这些值在更容易维护的情况下不会被程序所修改。Go 语言中声明常量使用的关键字是const。常量的使用非常广泛,比如说圆周率,再比如说一些明确的错误信息等一些容易被多次使用的值,一般都会使用常量进行实例化,使其在需要更改时,更容易维护,同时增加代码可读性。   1. 单常量定义 常量定义的形式为 const 常量名 常量类型 = 常量值 代码示例: 代码块 1  package main 2 3  import…

    go开发, 技术干货 2020年9月17日
  • Go 语言的强制类型转换

    Go 语言是一种强类型语言,而且没有隐式转换。也就是说运算符左右的变量类型必须一致,若不一致就会报错。为了使用户更加的容易使用,所以 Go 语言提供了各个类型之间强制类型转换的内置方法。   1. 整型和浮点型互相转换 整型和浮点型变量之间的相互转换相对容易,只需使用强制类型转换标志 type(variable)就好了。需要注意的是,当高精度向低精度类型转换的时候,会失真。即浮点型向整型转换的时候会失去其小数部分。在实际开发的过程中,我们一般要避免这两个类型的互相转换,在无法避免的场景…

    go开发, 技术干货 2020年9月17日
历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、容器云、Go、Python开发专业人才培训机构!