• Go 语言中的切片

    本位主要介绍一下 Go 语言中可变长度的”数组”——切片(slice)。数组有数组的用处,但是其不可变长度的特性,注定了在大多场景下不是很受欢迎。在大多数场景下我们都会选择更加灵活的切片。   1. 切片的创建 切片的声明方式和数组类似,写法上看就是声明一个没有长度的数组:var 切片名 []切片类型。其中切片类型可以是切片本身,也就是切片的切片,就构成了多维的切片。 切片在使用之前必须要初始化,它没有零值。声明后它的值是 nil,这是因为它的底层实现是一个指向…

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

    数组是一个可以存放相同数据类型数据的定长序列。由于数组是定长的,在使用场景并不丰富,所以在 Go 语言中通常使用的是切片(Slice)。想要使用切片,就先要了解数组,所以在本文先介绍 Go 语言中数组的使用。   1. 数组的声明 数组的声明形式形如var 数组名 [数组长度]数组类型,其中数组类型可以是数组本身,也就是数组类型的数组,这样就构成了多维数组。和变量的声明相同,数组在声明时会初始化变量类型的零值。 代码示例 代码块 1  package main 2 3  import …

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

    本文主要介绍 Go 语言中的指针。Go 语言中和 C/C++ 一样,直接提供了指针类型,但是不同的是 Go 语言的指针并没有那么高深莫测,因为它是无法进行位移和运算的,它只是一个存储了其它变量地址的变量而已。它在 Go 语言中最大的作用就是在值传递的过程中减少内存消耗,毕竟一个地址的存储开销是十分少的。   1.指针的定义和使用 在 Go 语言中指针类型的声明和 C/C++ 类似,都是采用*符号来区分正常类型变量和指针变量。 代码示例: 代码块 1  package main 2 3 …

    go开发, 技术干货 2020年9月18日
  • 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日
历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!