-
Go 语言中的函数
本文来介绍 Go 语言中的函数。Go 语言的函数和其它语言的用法类似,但是 Go 语言中所有东西都是变量,包括函数,函数在 Go 语言中也是变量的一种,所以函数名的命名规则和变量名相同,同时这个和我们后面要讲解的函数式编程有关,目前本文仅介绍 Go 语言中函数的声明和使用。 1. 函数的定义和使用 Go 语言中,通过 func 关键字来声明和定义函数。Go 语言和 C 语言不同,Go 语言函数的声明和定义是一起的,不存在先声明在定义,且声明时不分前后均可互相调用。 代码示例 代码块…
-
Go 语言的通道
Go 语言中有一个特殊的类型 chan,这是在 Go 语言的多线程操作中非常重要的一个数据类型。它的一般用于线程之间的数据传输,所以这个操作类型叫做"通道(channel)"。 1. 通道的声明和定义 通道可以理解为一种特殊的变量,所以它的声明和其它变量的声明并没有太大的区别,声明通道变量的写法如下: var c chan int //声明一个存放int类型数据的通道 代码块 1 但是它声明之后并不能直接使用,需要使用内置函数 make() 来创建一下通道变量才可以使用: Tips…
-
Go 语言的循环语句
在 Go 语言中减少了循环语句的关键字,仅有一个 for 关键字。但是并没有减少其功能,而且它更是兼容了其它语言中的while关键字的用法,甚至更强大。 1. for 循环语句 1.1 普通用法 在 Go 语言中,for 循环之后一样可以跟三个语句,单次表达式;条件表达式;末尾循环体,但是它不需要使用()来包裹这三个表达式,写法上更加的简洁。同时它也和其它语言一样,可以任意省略这三个表达式。 代码示例: 代码块 1 package main 2 3 import …
-
Go 语言的分支语句
本文主要学习 Go 语言中的分支语句。一共要介绍的有两个,分别式 if…else 和 switch…case。他们二者在 Go 语言中都做了新的功能拓展。 Tips:其中还有一个分支语句select…case我们将在Go语言的通道中介绍。 1. if…else 在 Go 语言中 if 关键字的作用和其它大部分语言相同,是用于测试某个布尔表达式或布尔值是否为真的。若为真则执行if之后{}中的语句,否则跳过这些语句。如果存在第二个分支,则需要使用 else 关键字,还需要增加分支的话就…
-
Go 语言中的运算符
本文主要介绍 Go语言中的各种运算符的使用以及其优先级的比较。Go 语言中运算符分为下面几大类: 算数运算符; 关系运算符; 逻辑运算符; 位运算符; 复制运算符。 下面我们就来一一看下这几种运算符如何使用。 1. Go 语言的算数运算符 Go语言中的算数运算符如表所示: 运算符 结合性 描述 + 从左到右 运算符左边的实体加上右边的实体 - 从左到右 运算符左边的实体减去右边的实体 * 从左到右 运算符左边的实体乘以右边的实体 / 从左到右 运算符左边的实体除以右边的实体 % 从…
-
Go 语言中代替枚举的办法
枚举类型用于声明一组命名的常量,当一个变量有几种可能的取值时,可以将它定义为枚举类型。在 Go 语言中,并没有提供枚举类型,但是枚举类型又是开发过程中非常重要的数据类型。因为它可以事先定义一组有效的值,可以有效地防止用户提交无效数据,抽象到业务场景中就是我们平时网页上遇到的下拉框,或者我们选择快递地址时的省市信息,均为枚举类型的用武之地。所以在 Go 语言中对常量进行了一定的扩展,使其可以完美地替代枚举类型。 1.常量中的iota 为了使常量可以更好地替代枚举类型,Go 语言提供了…
-
Go 语言的常量
常量可以理解为是一个存储了不可以改变的值的变量。常量主要用于特殊值的语义化,使这些值在更容易维护的情况下不会被程序所修改。Go 语言中声明常量使用的关键字是const。常量的使用非常广泛,比如说圆周率,再比如说一些明确的错误信息等一些容易被多次使用的值,一般都会使用常量进行实例化,使其在需要更改时,更容易维护,同时增加代码可读性。 1. 单常量定义 常量定义的形式为 const 常量名 常量类型 = 常量值 代码示例: 代码块 1 package main 2 3 import…
-
Go 语言的强制类型转换
Go 语言是一种强类型语言,而且没有隐式转换。也就是说运算符左右的变量类型必须一致,若不一致就会报错。为了使用户更加的容易使用,所以 Go 语言提供了各个类型之间强制类型转换的内置方法。 1. 整型和浮点型互相转换 整型和浮点型变量之间的相互转换相对容易,只需使用强制类型转换标志 type(variable)就好了。需要注意的是,当高精度向低精度类型转换的时候,会失真。即浮点型向整型转换的时候会失去其小数部分。在实际开发的过程中,我们一般要避免这两个类型的互相转换,在无法避免的场景…
-
Go 语言的布尔型(bool)
本文主要介绍了Go语言中处理布尔类型数据的数据类型。布尔类型的数据表示逻辑运算结果,有以下两种取值: 真,使用 True 关键字表示。 假,使用 False 关键字表示。 1.布尔类型 序号 类型 说明 1 bool 只能存放true或者false 2.使用示例 代码块 1 package main 2 3 import "fmt" 4 5 func main() { 6 var varb bool 7 varb = true 8 …
-
Go 语言的字符类型
字符类型在工作中也会非常频繁地用到,是一个非常重要的数据类型。本文主要介绍了 Go 语言中处理字符和字符串的数据类型。 1. 字符和字符串类型 序号 类型 说明 1 byte uint8 类型的别名,同等于 uint8。一般用于表示 ASCII 字符,即只能操作简单的字符,不支持中文操作。 2 rune int32 类型的别名,同等于 int32。一般用于表示 Unicode 字符,即可以处理任何字符。 3 string 一个指向 byte 数组的指针,可以为空字符串不可为nil。…