Fork me on GitHub

Go语言开发-集合类型-值、指针和引用类型

4.1.值、指针和引用类型 本节我们将讨论变量保存的是什么(值、指针和引用,包括指向数组、切片和映射的引用),并在接下来的小结中介绍如何使用数组、切片和映射。 通常情况下,Go语言的变量保存的是相应的值,也就是说,我们可以认为变量可以作为其所保存的值,但不包括通道、函数、方法、映射和切片引用,因为它…

Go语言开发-字符串-regexp包

3.6.5. regexp包 本小节给出了一些表,这些表列出了regexp包里的函数和支持的正则表达式语法,同时也给出了几个例子。在本小节或本书的其他地方也会使用到正则表达式,我们假设读者已经具有了一些正则表达式基础。 regexp包是Russ Cox的RE2正则表达式引擎的Go语言实现,该引擎速度…

Go语言开发-字符串-strconv包

3.6.2. strconv包
strconv包提供了许多用于将字符串和其他类型相互转换的函数。表3.8和表3.9(也可以参考fmt包的打印和扫描函数)列出了这些函数。接下来让我们看几个例子。一个常见的需求是将字符串表示的值转换为布尔值。我们可以使用 strconv.ParseBool() 函数来实现。

Go语言开发-字符串-strings包

3.6.1. strings包
在字符串处理中一个常见的需求是能够将字符串切分为字符串切片,然后再做进一步的处理,例如,将字符串转换为数字或去除字符串前后的空格。为了学习如何使用strings包中的函数,我们将通过一些简单的例子来使用这些函数。表3.6和表3.7列出了strings包中所有的函数。首先让我们以切分字符串开始。

Go语言开发-字符串-为调试格式化

3.5.6.为调试格式化
%T(类型)用于打印内置的或自定义值的类型,%v用于打印内置值的值。事实上,%v还可以打印自定义类型的值,对于没有定义String()方法的类型使用默认的格式,对于定义了String()方法的类型使用该类型的String()方法打印。
上面这个例子演示了如何使用%t和%v来输出任意值的类型和值。

Go语言开发-字符串-格式化整数

3.5.2.格式化整数
现在我们将介绍整数的格式化,从二进制(基数为2)的输出开始。
第一个格式(%b)使用了%b(二进制)格式化动作并使用尽可能少的数字将整数以二进制的形式输出。第二个格式(%9b)指定要输出的长度为9个字符(如有必要将超出此长度来避免截断),且默认右对齐。第三个格式(%-9b)使用“-”修饰符即输出设置为左对齐。第四个格式(%09b)使用0作为填充符,第五个格式(% 9b)使用空格作为填充符。

Go语言开发-字符串-使用fmt包来格式化字符串

3.5.使用fmt包来格式化字符串 Go语言标准库中的fmt包提供了以字符串形式将数据输出到控制台、文件、其他满足io.Writer接口的值或其他字符串的打印函数,表3.3列出了这些函数。某些打印函数会返回一个错误值,当将数据打印到控制台时,通常我们会忽略该返回值,但在将数据打印到文件或网络中时,我们应始终检查该错误值。