现在位置: 首页 > 综合 > 文章
2020年01月17日 综合 ⁄ 共 2036字 评论关闭
Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。Go语言的推出,旨在不...
阅读全文
2020年01月17日 综合 ⁄ 共 5891字 评论关闭
排序操作和字符串格式化一样是很多程序经常使用的操作。尽管一个最短的快排程序只要 15 行就可以搞定,但是一个健壮的实现需要更多的代码,并且我们不希望每次我们需要的时候都重写或者拷贝这些代码。幸运的是,sort 包内置的提供了根据一些排序函数来对任何序列排序的功能。它的设计非常独到。在很多语言中,排序算法都是和序列数据类型关联,同时排序函数和具体类型元素关联。相比之下,Go语言的 sort.Sort 函数不会对具体的...
阅读全文
2020年01月17日 综合 ⁄ 共 1014字 评论关闭
在面向对象思想中,实现对象关系需要使用“继承”特性。例如,人类不能飞行,鸟类可以飞行。人类和鸟类都可以继承自可行走类,但只有鸟类继承自飞行类。面向对象的设计原则中也建议对象最好不要使用多重继承,有些面向对象语言从语言层面就禁止了多重继承,如 C# 和 Java 语言。鸟类同时继承自可行走类和飞行类,这显然是存在问题的。在面向对象思想中要正确地实现对象的多重特性,只能使用一些精巧的设计来补救。Go...
阅读全文
2020年01月17日 综合 ⁄ 共 2352字 评论关闭
Go语言可以对任何类型添加方法,给一种类型添加方法就像给结构体添加方法一样,因为结构体也是一种类型。 为基本类型添加方法 在Go语言中,使用 type 关键字可以定义出新的自定义类型,之后就可以为自定义类型添加各种方法了。我们习惯于使用面向过程的方式判断一个值是否为 0,例如: if v == 0 { // v等于0} 如果将 v 当做整型对象,那么判断 v 值就可以增加一个 IsZero() 方法,通过这个方法就可以判断 v 值是否为 0,例...
阅读全文
2020年01月17日 综合 ⁄ 共 2333字 评论关闭
结构体在实例化时可以直接对成员变量进行初始化,初始化有两种形式分别是以字段“键值对”形式和多个值的列表形式,键值对形式的初始化适合选择性填充字段较多的结构体,多个值的列表形式适合填充字段较少的结构体。 使用“键值对”初始化结构体 结构体可以使用“键值对”(Key value pair)初始化字段,每个“键”(Key)对应结构体中的一个字段,键的“值”(Value)对应...
阅读全文
2020年01月17日 综合 ⁄ 共 4121字 评论关闭
在C语言时代大家一般都用过 printf() 函数,从那个时候开始其实已经在感受可变参数的魅力和价值,如同C语言中的 printf() 函数,Go语言标准库中的 fmt.Println() 等函数的实现也依赖于语言的可变参数功能。本节我们将介绍可变参数的用法。合适地使用可变参数,可以让代码简单易用,尤其是输入输出类函数,比如日志函数等。 可变参数类型 可变参数是指函数传入的参数个数是可变的,为了做到这点,首先需要将函数定义为可以接受可...
阅读全文
2020年01月17日 综合 ⁄ 共 1801字 评论关闭
Go语言支持匿名函数,即在需要使用函数时再定义函数,匿名函数没有函数名只有函数体,函数可以作为一种类型被赋值给函数类型的变量,匿名函数也往往以变量方式传递,这与C语言的回调函数比较类似,不同的是,Go语言支持随时在代码里定义匿名函数。匿名函数是指不需要定义函数名的一种函数实现方式,由一个不带函数名的函数声明和函数体组成,下面来具体介绍一下匿名函数的定义及使用。 定义一个匿名函数 匿名函数的定义格式如下...
阅读全文
2020年01月17日 综合 ⁄ 共 595字 评论关闭
熟悉了Go语言的基本循环格式后,让我们用一个例子来温习一遍吧。输出九九乘法表: package mainimport "fmt"func main() { // 遍历, 决定处理第几行 for y := 1; y <= 9; y++ { // 遍历, 决定这一行有多少列 for x := 1; x <= y; x++ { fmt.Printf("%d*%d=%d ", x, y, x*y) } // 手动生成回车 fmt.Println() }} 结果输出如下: 1*1=11*2=2 2...
阅读全文
2020年01月17日 综合 ⁄ 共 2029字 评论关闭
Go语言中 map 是一种特殊的数据结构,一种元素对(pair)的无序集合,pair 对应一个 key(索引)和一个 value(值),所以这个结构也称为关联数组或字典,这是一种能够快速寻找值的理想结构,给定 key,就可以迅速找到对应的 value。map 这种数据结构在其他编程语言中也称为字典(Python)、hash 和 HashTable 等。 map 概念 map 是引用类型,可以使用如下方式声明: var mapname map[keytype]valuetype 其中:mapname 为 map ...
阅读全文
2020年01月17日 综合 ⁄ 共 2201字 评论关闭
一个字符串是一个不可改变的字节序列,字符串可以包含任意的数据,但是通常是用来包含可读的文本,字符串是 UTF-8 字符的一个序列(当字符为 ASCII 码表上的字符时则占用 1 个字节,其它字符根据需要占用 2-4 个字节)。UTF-8 是一种被广泛使用的编码格式,是文本文件的标准编码,其中包括 XML 和 JSON 在内也都使用该编码。由于该编码对占用字节长度的不定性,在Go语言中字符串也可能根据需要占用 1 至 4 个字节,这与其它编程...
阅读全文