随笔分类 - Go
摘要:一、Goroutine Go 协程可以看做成一个轻量级的线程,Go 协程相比于线程的优势: Goroutine 的成本更低大小只有 2 kb 左右,线程有几个兆。 Goroutine 会复用线程,比如说:我有 100 个协程,但是都是共用的的 3 个线程。 Goroutine 之间通信是通过 cha
阅读全文
摘要:接口就是一系列方法的集合(规范行为) 在面向对象的领域里,接口一般这样定义:接口定义一个对象的行为,规范子类对象的行为。 在 Go 语言中的接口是非侵入式接口(接口没了,不影响代码),侵入式接口(接口没了,子类报错) Go 也是鸭子类型,比如我现在有个鸭子类,内有 speak 方法和 run 方法,
阅读全文
摘要:一、结构体 结构体是一系列属性的集合(类似于 Python 中的类) 1、结构体的定义与使用 // 定义 type Person struct { Name string Age int Sex string } func main() { // 使用 var per Person per.Name
阅读全文
摘要:一、数组 数组是同一类型元素的集合,可以放多个值,但是类型一致,内存中连续存储 Go 语言中不允许混合不同类型的元素,而且数组的大小,在定义阶段就确定了,不能更改 1、数组的定义 // 定义一个大小为3的string类型和int8类型的数组,里面可以放3个字符串和3个数字 var names [3]
阅读全文
摘要:一、for循环 Go 语言中没有 while 循环,只有一个 for 循环 for 变量初始化;条件;变量自增/自减 { 循环体内容 } 1、基本使用 for i := 0; i < 10; i++ { fmt.Println(i) } 2、省略第一部分 i := 0 for ; i < 10; i
阅读全文
摘要:函数就是一块执行特定任务的代码,在输入源的基础上通过一些算法生成预期的输出。 一、函数的声明 Go 语言中的函数声明语法如下: func 函数名(参数名 类型,参数名 类型)(返回值1类型,返回值2类型){ 函数体内容 return 返回值1,返回值2 } 注意:函数中的参数列表和返回值不是必须的
阅读全文
摘要:一、基础介绍 Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语言 1、Go 的特性: 跨平台的编译型语言,交叉编译 管道(channel),切片(slice),并发(routine) 有垃圾回收机制 支
阅读全文