go语言递归函数及defer
摘要:递归函数 简单来说,递归就是函数自己调用自己。有2种实现方式,一种是直接在自己函数中调用自己,一种是间接在自己函数中调用的其他函数中调用了自己。 递归函数需要有边界条件、递归前进段、递归返回段 递归一定要有边界条件,当边界条件不满足时,递归前进;当边界条件满足时,递归返回 func fib(n in
阅读全文
posted @
2023-06-27 10:11
自然洒脱
阅读(144)
推荐(0) 编辑
go语言函数作用域及匿名函数
摘要:作用域 函数会开辟一个局部作用域,其中定义的标识符仅能在函数之中使用,也称为标识符在函数中的可见范围。 这种对标识符约束的可见范围,称为作用域。 对外不可见、向内穿透、就近原则。 1、语句块作用域 if、for、switch等语句中定义的变量,可以认为就是该语句块的变量,作用域仅在该语句块中。if、
阅读全文
posted @
2023-06-25 15:10
自然洒脱
阅读(85)
推荐(0) 编辑
go语言函数调用及原理
摘要:Go函数 由若干语句组成的语句块、函数名称、参数列表、返回值构成,它是组织代码的最小单元 完成一定的功能 函数的作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的为了复用,减少冗余代码 代码更加简洁美观、可读易懂 函数的分类 内建函数,如make、new、panic等 库函数
阅读全文
posted @
2023-06-19 15:28
自然洒脱
阅读(153)
推荐(0) 编辑
go语言hash表
摘要:map特性 长度可变;存储的元素是key-value对(键值对),value可变 key无序不重复 不可索引,需要通过key来访问;不支持零值可用,也就是说,必须要用make或字面常量构造;引用类型; 哈希表 哈希算法 哈希Hash算法特征 y = hash(x),给定一个x一定得到一个y值 x的范
阅读全文
posted @
2023-06-19 10:54
自然洒脱
阅读(172)
推荐(0) 编辑
go语言list表
摘要:在go中的list表属于双向链表,表头部的prev和尾部的next同时指向一个相同的地址,从而实现了一个环。list的零值是一个准备使用的空列表。 源码:https://cs.opensource.google/go/go/+/refs/tags/go1.20.5:src/container/lis
阅读全文
posted @
2023-06-16 19:49
自然洒脱
阅读(208)
推荐(0) 编辑
go语言排序算法
摘要:常见算法 1、冒泡排序 // 冒泡排序 a := []uint8{9, 20, 10, 23, 7, 22, 88, 102} for i := 0; i < len(a); i++ { for k := i + 1; k < (len(a) - i); k++ { if a[i] > a[k] {
阅读全文
posted @
2023-06-14 19:35
自然洒脱
阅读(100)
推荐(0) 编辑
go语言字符与字符串相关
摘要:ASCII ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁 字母的一套单字节编码系统 字符 本质上来说,计算机中一切都是字节的,字符串也是多个字节组合而成,就是多个字节形成的有序序 列。但是对于多字节
阅读全文
posted @
2023-06-13 10:39
自然洒脱
阅读(65)
推荐(0) 编辑
go语言切片
摘要:特性 长度可变、 内容可变、 引用类型、 底层基于数组 定义 var s1 []int // 长度、容量为0的切片,零值 var s2 = []int{} // 长度、容量为0的切片,字面量定义 var s3 = []int{1, 3, 5} // 字面量定义,长度、容量都是3 var s4 = m
阅读全文
posted @
2023-06-05 14:33
自然洒脱
阅读(23)
推荐(0) 编辑
go语言数组
摘要:线性数据结构 线性表 是一种抽象的数学概念,是一组元素的序列的抽象,它由有穷个元素组成(0 个或任意个)。包括顺序表和链接表。 顺序表:使用一大块连续的内存顺序存储表中的元素,这样实现的表称为顺序表,或称连续表 在顺序表中,元素的关系使用顺序表的存储顺序自然地表示; 链接表:在存储空间中将分散存储的
阅读全文
posted @
2023-06-05 11:31
自然洒脱
阅读(27)
推荐(0) 编辑