随笔分类 -  Golang

摘要:概念 方法就是一个包含接收者的函数。接收者可以是命名类型或结构体类型的一个值或指针。 语法 方法与函数对比 意义 1. go没有类的概念 2. 方法:某个类别的行为功能,需要指定接收者 3. 函数:是一段独立功能的代码,可以直接调用。 语法: 1. 方法:方法名可以相同,只要接收者不同就可以 2. 阅读全文
posted @ 2020-05-05 21:07 henryno12 阅读(92) 评论(0) 推荐(0)
摘要:OOP Go不是纯面向对象的语言 Go没有面向对象的三大特征(封装,继承,多态) Go通过结构体嵌套模拟继承 模拟继承性:is-a type A struct{ field } type B struct{ A //匿名字段 提升字段 } 模拟聚合关系:has-a type C struct{ fi 阅读全文
posted @ 2020-05-05 21:06 henryno12 阅读(232) 评论(0) 推荐(0)
摘要:结构体 1. 概念 由一系列具有相同类型或不同类型的数据,构成的数据集合。 结构体成员由一系列的成员变量构成,这些成员变量也被称为“字段” 结构体也可理解为一个数据记录,结构体抛弃了面向对象类,继承等概念。 2. 结构体的定义与初始化 3. 结构体是值类型 4. make,new操作 make用于内 阅读全文
posted @ 2020-04-22 22:31 henryno12 阅读(224) 评论(0) 推荐(0)
摘要:指针 1. 概念 存储另一个变量的内存地址的变量 2. 获取变量地址 Go语言的取地址符是&,放到一个变量前使用返回相应的变量的内存地址 3. 声明指针 T是指针变量的类型,它指向T类型的值 4. 获取指针的值 获取一个指针意味着访问可访问指针指向的变量的值。 5. 操作变量 操作变量,更改数值,并 阅读全文
posted @ 2020-04-12 22:02 henryno12 阅读(151) 评论(0) 推荐(0)
摘要:闭包 1. 概念 一个外层函数中,有内层函数,该内层函数中,会操作外层函数的局部变量(外层函数的参数,或者外层函数中直接定义的局部变量),并且该外层函数的返回值就是这个内层函数。那么这个内层函数和外层函数的局部变量,统称为闭包结构。 2. 解释 实质就是将内层函数作为返回值,返回给调用处,那么引用调 阅读全文
posted @ 2020-04-07 22:06 henryno12 阅读(124) 评论(0) 推荐(0)
摘要:回调函数 1. 概念 高阶函数:可以将一个函数作为另一个函数的参数 2. 阅读全文
posted @ 2020-04-07 20:19 henryno12 阅读(113) 评论(0) 推荐(0)
摘要:匿名函数 1. 概念 没有名字的函数 2. 调用方式 1. 直接进行调用,通常只能使用一次。 2. 赋值调用,将匿名函数赋值给某个某个函数变量,则可以调用多次 3. 带参数的匿名函数 4. 带返回值的匿名函数 5. 匿名函数的用途 1. Go语言支持函数式编程 1. 将匿名函数作为另一个函数的参数, 阅读全文
posted @ 2020-04-04 23:05 henryno12 阅读(199) 评论(0) 推荐(0)
摘要:函数的数据类型及本质 1. 函数类型 2. 函数本质 1. 创建函数时,先创建一块内存空间,在内存中存储函数体,函数名fun1存储这块空间的地址(引用类型)。 2. fmt.Println(fun1) 打印出函数fun1的内存地址 3. fun1(1,2) 调用执行函数体内容 画外音:fun1与fu 阅读全文
posted @ 2020-03-29 21:00 henryno12 阅读(760) 评论(0) 推荐(0)
摘要:defer语句 1. 说明 defer的词义:“延迟”,“推迟” 在go语言中,使用defer关键词来延迟一个函数或方法的执行 2. defer函数或方法:一个函数或方法被延迟执行了,需要等到所有函数或方法中的所有代码执行完后才会执行defer修饰的函数或方法。 3. defer的用法 1. 对象. 阅读全文
posted @ 2020-03-29 00:16 henryno12 阅读(174) 评论(0) 推荐(0)
摘要:递归函数 1. 概念 一个函数自己调用自己。 递归函数要有一个出口,逐渐的向出口靠近。 2. 使用经验 1. 定义终结出口逻辑 2. 使用自调用的递归 阅读全文
posted @ 2020-03-21 22:03 henryno12 阅读(92) 评论(0) 推荐(0)
摘要:函数 概念 执行特定任务的代码块 声明 go语言至少有一个main函数 1. 语法格式 1. func: 函数由func声明 2. funName:函数名称,函数名称和参数列表一起构成函数签名 3. parametername type: 参数列表,参数就像一个占位符,但函数被调用时,你可以将值传递 阅读全文
posted @ 2020-03-16 09:27 henryno12 阅读(145) 评论(0) 推荐(0)
摘要:String 概念 1. 字符串是一个 字节的切片。可以理解为一些字节的集合,按照字符的形式来展示 2. 也可理解为一个字符的序列,序列的意思是每个字符都有固定的位置(下标,索引,index:从0开始,到长度减1) 3. 画外音 :字符串本质上就是一个字节Slice,字符串中的每个字符在字节slic 阅读全文
posted @ 2020-03-11 17:36 henryno12 阅读(646) 评论(0) 推荐(0)
摘要:Map 特点 1. 无序的 2. 长度不固定,与slice一样,也是一种引用类型 3. 内置len函数适用于map,返回map中拥有key的数量 4. map的key必须是所有可以比较的类型,如布尔型,整数,浮点,字符串 创建Map 1. 使用make()创建map 2. 判断map是否初始化 Ma 阅读全文
posted @ 2020-03-04 18:09 henryno12 阅读(148) 评论(0) 推荐(0)
摘要:深拷贝与浅拷贝 1. 概念 深拷贝:拷贝的是数据本身 ​ 值类型的数据,默认都是深拷贝。array,int ,float,bool,string,struct 浅拷贝:拷贝的是数据地址 ​ 导致多个变量指向同一块内存 ​ 引用类型的数据,默认都是浅拷贝。slice,map 2. 针对切片的深拷贝函数 阅读全文
posted @ 2020-02-28 23:40 henryno12 阅读(1211) 评论(0) 推荐(0)
摘要:切片 1. 概念 1. 与数组类似,也叫做变长数组或动态数组 2. 是 引用类型 ,因为它指向一个底层的数组 2. 语法 1. 定义切片 使用make创建切片 从已有数组上直接创建切片 2. 遍历切片 3. 内存分析 1. 切片是引用类型的数据,也就是数据里存储的内存地址 2. slice创建的过程 阅读全文
posted @ 2020-02-28 16:05 henryno12 阅读(182) 评论(0) 推荐(0)
摘要:数组 1. 概念 存储一组相同数据类型的数据的数据结构。 数组一旦定义后,长度不可改变。 2. 语法 3. 长度与容量 1. go语言的内置函数 2. 长度 len() 不是数组独有的,array/map/slice/string都可以使用 3. 容量 cap() 4. 内存分析 1. 在内存开辟连 阅读全文
posted @ 2020-02-28 16:03 henryno12 阅读(274) 评论(0) 推荐(0)
摘要:生成随机数 1. 概念 伪随机数,都是根据一定的算法公式算出来的。 2. 所在包 math/rand 生成随机数的公式需要一个种子数,一般为整数。种子数相同会导致每次启动程序是生成随机数相同,为了避免重复每次生成随机数最好设置不同的种子数 3. 关键函数 4. 获取指定范围[m,n]的随机数 1. 阅读全文
posted @ 2020-02-21 19:46 henryno12 阅读(659) 评论(0) 推荐(0)
摘要:条件语句 1. if语句 1. if语句后的{,一定要和if条件写在同一行,否则报错 2. else一定要在if语句}之后,不能自己另起一行 2. if语句变型写法 3. switch语句 1. switch可以作用在任何类型上, 2. case后的数值必须与switch作用的变量类型一致 3. c 阅读全文
posted @ 2020-02-21 19:45 henryno12 阅读(192) 评论(0) 推荐(0)
摘要:输出 1. 格式化打印占位符 | 符号 | 说明 | | | | | %v | 默认格式 | | %T | 打印类型 | | %t | 布尔类型 | | %s | 字符串 | | %f | 浮点数 | | %d | 十进制的整数 | | %b | 二进制的整数 | | %o | 八进制 | | %x 阅读全文
posted @ 2020-02-20 22:11 henryno12 阅读(256) 评论(0) 推荐(0)
摘要:基本数据类型 布尔类型: bool ​ 取值:true , false ​ 打印占位符:%t 数值类型 1. 整数: 1. int8 有符号8位( 128 到 127) 2. int16 有符号16位( 32768 到 32767) 3. int32 有符号32位( 21474833648 到 21 阅读全文
posted @ 2020-02-19 10:47 henryno12 阅读(676) 评论(0) 推荐(0)