Fork me on GitHub

Go语言开发-过程式编程-IF语句

5.2.1. if语句 Go语言的if语句语法如下:

在一个if语句块中可能含有零个或多个elseif子句,以及零个或一个else子句,而每个子句中又由多个语句组成。 If中的大括号是必需的,但是分号只有在使用可选声明的情况下才需要。…

Go语言开发-过程式编程-类型断言

5.1.2.类型断言 一个类型的方法集是指可以被该类型的值调用的所有方法的集合,对于没有方法的类型来数该集合为空。Go语言的interface{}类型用于表示空接口,即一个含有空集的方法集的类型的值。因为每个类型都有一个包含空集的方法集(不论其拥有多少方法),一个interface{}可以用于表示一…

Go语言开发-过程式编程

5过程式编程 本章的主旨是讲解Go语言的过程式编程知识,Go语言可以用于编写纯过程式程序、面向对象的程序,也可以是这两者的组合。学习Go语言的过程式编程是极其重要的,因为Go语言的面向对象编程是建立在过程式编程的基础上的,并发编程也是如此。 前面的几个章节通过示例介绍了Go语言内置的数据类型,并了解…

Go语言开发-集合类型-例子:词频统计

4.4.2.例子:词频统计 文本分析具有多种用途,从数据挖掘到语言学习本身。在本小节中,我们将讲解一个文本分析最基本形式的例子:从给定的文件中统计单词出现的频度。 频度数据可以以两种不同却同样合理的方式显示,一种是将单词以字母顺序排列,另一种是按照频度排列。wordfrequency程序(在文件wo…

Go语言开发-集合类型-例子

4.4.例子 在本节中,我们将会介绍两个小例子,第一个例子介绍一维和二维切片,第二个例子介绍映射,包括值不唯一的映射反转,同时也会介绍切片和排序。 目录 作者:Johnson 原文:Go语言开发-集合类型-例子 出处:青梅酒博客 – Plum Wine Blog 原创文章,版权所有,转载…

Go net/http 超时机制完全手册

当用Go写HTTP的服务器和客户端的时候,超时处理总是最易犯错和最微妙的地方之一。错误可能来自很多地方,一个错误可能等待很长时间没有结果,直到网络故障或者进程挂起。 HTTP是一个复杂的、多阶段(multi-stage)协议,所以没有一个放之四海而皆准的超时解决方案,比如一个流服务、一个JSON A…

Go语言开发-集合类型-映射反转

4.3.5.映射反转 如果一个映射的值是唯一的且值的类型和键一样都是被支持类型的话,我们就可以很容易的将该映射进行反转操作。

因为populationForCity是map[string]int类型的,所以我们开始创建了一个反转的映射…

Go语言开发-集合类型-键序映射的遍历

4.3.4.键序映射的遍历 在实际使用中,我们经常需要以特定的顺序生成并展示这些数据。下面是一个例子,展示了如何以字母顺序(严格地说,是Unicode码点)输出映射populationForCity中的城市。

我们首先创建了一个[]s…

Go语言开发-集合类型-修改映射

4.3.3.修改映射 元素,也就是“键-值”对,可以被插入到映射中,也可以从映射中删除掉,且任何键对应的值都可以被修改。请看下面的例子。

映射的插入和更新语法是一样:如果给定的键不存在,则将给定的键和值插入到该映射中;而如果存在,则将…