摘要:
Matplotlib 是 Python 的绘图库。作为程序员,经常需要进行绘图,在我自己的工作中,如果需要绘图,一般都是将数据导入到excel中,然后通过excel生成图表,这样操作起来还是比较繁琐的,所以最近学习了一下Matplotlib模块,将该模块的常用的绘图手段和大家分享一下,提高大家在工作 阅读全文
摘要:
Go语言字符类型(byte和rune) 字符串中的每一个元素叫做“字符”,在遍历或者单个获取字符串元素时可以获得字符。Go 语言的字符有以下两种: 一种是 uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符。 另一种是 rune 类型,代表一个 UTF-8 字符。当需要处理中文 阅读全文
摘要:
Go 语言使用类型前置加括号的方式进行类型转换,一般格式如下: 其中,T 代表要转换的类型。表达式包括变量、复杂算子和函数返回值等。 类型转换时,需要考虑两种类型的关系和范围,是否会发生数值截断等,参见下面代码: 代码说明如下: 第 11~14 行,输出常见整型类型的数值范围。 第 17 行,声明 阅读全文
摘要:
格式化在逻辑中非常常用。使用格式化函数,要注意写法: 格式化样式:字符串形式,格式化动词以%开头。 参数列表:多个参数以逗号分隔,个数必须与格式化样式中的个数一一对应,否则运行时会报错。 在 Go 语言中,格式化的命名延续C语言风格: 代码输出如下: 下表中标出了常用的一些格式化样式中的动词及功能。 阅读全文
摘要:
连接字符串这么简单,还需要学吗?确实,Go 语言和大多数其他语言一样,使用+对字符串进行连接操作,非常直观。 但问题来了,好的事物并非完美,简单的东西未必高效。除了加号连接字符串,Go 语言中也有类似于 StringBuilder 的机制来进行高效的字符串连接,例如: bytes.Buffer 是可 阅读全文
摘要:
Go 语言的字符串无法直接修改每一个字符元素,只能通过重新构造新的字符串并赋值给原来的字符串变量实现。请参考下面的代码: 程序输出如下: Heros die 代码说明如下: 在第 3 行中,将字符串转为字符串数组。 第 5~7 行利用循环,将 never 单词替换为空格。 最后打印结果。 感觉我们通 阅读全文
摘要:
获取字符串的某一段字符是开发中常见的操作,我们一般将字符串中的某一段字符称做子串(substring)。 下面例子中使用 strings.Index() 函数在字符串中搜索另外一个子串,代码如下: 总结 字符串索引比较常用的有如下几种方法: strings.Index:正向搜索子字符串。 strin 阅读全文
摘要:
遍历字符串有下面两种写法。 遍历每一个ASCII字符 遍历 ASCII 字符使用 for 的数值循环进行遍历,直接取每个字符串的下标获取 ASCII 字符,如下面的例子所示。 程序输出如下: 这种模式下取到的汉字“惨不忍睹”。由于没有使用 Unicode,汉字被显示为乱码。 按Unicode字符遍历 阅读全文
摘要:
Go 语言的内建函数 len(),可以用来获取切片、字符串、通道(channel)等的长度。下面的代码可以用 len() 来获取字符串的长度。 程序输出如下: 16 6 len() 函数的返回值的类型为 int,表示字符串的 ASCII 字符个数或字节长度。 输出中第一行的 16 表示 tip1 的 阅读全文
摘要:
字符串在 Go 语言中以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、float32、float64 等)一样。 提示:在 C++、C# 语言中,字符串以类的方式进行封装。 C# 语言中在使用泛型匹配约束类型时,字符串是以 Class 的方式存在,而不是 String,因为 阅读全文
摘要:
布尔型数据在 Go 语言中以 bool 类型进行声明,布尔型数据只有 true(真)和 false(假)两个值。 Go 语言中不允许将整型强制转换为布尔型,代码如下: 编译错误,输出如下: cannot convert n (type bool) to type int bool值的默认值为fals 阅读全文
摘要:
Go语言支持两种浮点型数:float32 和 float64。这两种浮点型数据格式遵循 IEEE 754 标准: float32 的浮点数的最大范围约为 3.4e38,可以使用常量定义:math.MaxFloat32。 float64 的浮点数的最大范围约为 1.8e308,可以使用一个常量定义:m 阅读全文
摘要:
Go 语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异,切片类型有着指针的便利性,但比指针更为安全,很多高级语言都配有切片进行安全和高效率的内存操作。 本节我们将介绍最基本的整型。 整型 阅读全文
摘要:
在使用多重赋值时,如果不需要在左值中接收变量,可以使用匿名变量(anonymous variable)。 匿名变量的表现是一个下画线_,使用匿名变量时,只需要在变量声明的地方使用下画线替换即可。例如: 代码运行结果: 100 200 GetData() 是一个函数,拥有两个整型返回值。每次调用将会返 阅读全文
摘要:
编程最简单的算法之一,莫过于变量交换。交换变量的常见算法需要一个中间变量进行变量的临时保存。用传统方法编写变量交换代码如下: 在计算机刚发明时,内存非常“精贵”。这种变量交换往往是非常奢侈的。于是计算机“大牛”发明了一些算法来避免使用中间变量: 这样的算法很多,但是都有一定的数值范围和类型要求。 到 阅读全文
摘要:
Go 语言在声明变量时,自动对变量对应的内存区域进行初始化操作。每个变量会初始化其类型的默认值,例如: 整型和浮点型变量的默认值为 0。 字符串变量的默认值为空字符串。 布尔型变量默认为 bool。 切片、函数、指针变量的默认为 nil。 当然,依然可以在变量声明时赋予变量一个初始值。 回顾C语言 阅读全文
摘要:
变量(Variable)的功能是存储用户的数据。不同的逻辑有不同的对象类型,也就有不同的变量类型。经过半个多世纪的发展,编程语言已经形成一套固定的类型,这些类型在不同的编程语言中基本是相通的。常见变量的数据类型有:整型、浮点型、布尔型、结构体等。 Go 语言作为C语言家族的新派代表,在C语言的定义方 阅读全文