Golang.jpg
  • Madman
  • ·

Go基础|第12章:并发

并发(concurrency)不是并行(parallelism),并行是让不同的代码片段同时在不同的 CPU 核上执行。并行的关键是同时执行多个任务,而并发是指同时管理很多任务,这些任务可能只做了一半就被暂停去做别的任务了。在很多情况下,并发的效果比并行好,因为操作系统和硬件的总资源一般很少,但能支持系统同时处理很多任务。这种 [使用较少的资源做更多的事情] 的哲学, 也是指导 Go...

Golang.jpg
  • Madman
  • ·

Go基础|第11章:interface

接口是用来定义行为的类型,这些被定义的行为不由接口直接实现,而是通过方法由用户定义的类型实现。在 Go 语言中,只有当有两个或两个以上的具体类型必须以相同的方式进行处理时才需要接口。当新的类型出现时,更简单方法的、更小的接口更容易满足需求,对于接口设计的一个好的标准就是 ask only for what you need

Golang.jpg
  • Madman
  • ·

Go基础|第10章:method

方法能给用户定义的类型添加新的行为,它有两种类型的接收者:值接收者(value receiver) 和指针接收者(pointer receiver),本文将介绍在 Go 中和方法相关的各种概念

Golang.jpg
  • Madman
  • ·

Go基础|第9章:map

Go 语言里用映射用来处理具有键值对结构的数据,可以使用 map literal 或 make 函数来初始化映射。注意映射的零值为 nil,不能给它添加键值对,否则会报编译错误

Golang.jpg
  • Madman
  • ·

Go基础|第8章:array / slice

Go 语言有 3 种数据结构可以让用户管理集合数据:数组(array)、切片(slice)和映射(map),切片类型是在 Go 的数组类型之上所构建的抽象形式(切片会引用其底层数组的一个区间),因此要了解切片,我们必须首先了解数组

Golang.jpg
  • Madman
  • ·

Go基础|第7章:struct

A struct type consists a collection of member variable declarations. 结构体是复合类型(composite types),当需要定义一个类型,它由一系列属性组成、每个属性都有自己的类型和值的时候,就应该使用结构体,它把数据聚集在一起。struct 类似于面向对象的编程语言中的一个没有方法的轻量级 class,不过因为 Go...

Golang.jpg
  • Madman
  • ·

Go基础|第6章:pointer

Go 语言提供了指针。指针是一种直接存储了值的内存地址的数据类型。& 操作符可以返回一个变量的内存地址,并且 * 操作符 可以获取指针指向的变量内容,但是在 Go 语言里没有指针运算

Golang.jpg
  • Madman
  • ·

Go基础|第5章:流程控制语句

在 Go 中只有很少的几个控制结构,没有 do 或者 while 循环,只有 for 循环。有 if 语句和灵活的 switch 语句,还有延迟调用 defer 语句,后续学习并发 channel 章节时,我们还会学习 select 语句

Golang.jpg
  • Madman
  • ·

Go基础|第4章:function

Go 语言中,函数是一等公民(First Class Functions),这意味着函数不但可以用于封装代码、分割功能、解耦逻辑,还可以像字符串和数值那样作为普通的值,在其他函数间传递、赋予变量、做类型判断和转换等