runoops.com

Go 教程

Go 语言开发工具

阅读(1250)

VSCode VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器。 VScode 安装教程参见:https://runoops.com/vscode-tutorial.html 然后我们打开...

Go 并发

阅读(1159)

Go 语言支持并发,我们只需要通过 go 关键字来开启 goroutine 即可。 goroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。 goroutine 语法格式: go 函数名( 参数列表...

Go 错误处理

阅读(1030)

Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 error类型是一个接口类型,这是它的定义: type error interface { Error() string } 我们可以在编码中通过实现 error 接口类型来生成错...

Go 语言接口

阅读(1182)

Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 结构 实例 在上面的例子中,我们定义了一个接口Phone,接口里面有一个方法call()。然后我们在main函数...

Go 语言类型转换

阅读(901)

类型转换用于将一种数据类型的变量转换为另外一种类型的变量。Go 语言类型转换基本格式如下: type_name(expression) type_name 为类型,expression 为表达式。 实例 以下实例中将整型转化为浮点型,并计算...

Go 语言递归函数

阅读(930)

递归,就是在运行的过程中调用自己。 语法格式如下: Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。 递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。 阶乘 以下实例通过...

Go 语言Map(集合)

阅读(1088)

Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为...

Go 语言范围(Range)

阅读(1072)

Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。 实例 以上实...

Go 语言切片(Slice)

阅读(1170)

Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片...

Go 语言结构体

阅读(1016)

Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title :标题 A...