摘要: 概念 方法就是一个包含接收者的函数。接收者可以是命名类型或结构体类型的一个值或指针。 语法 方法与函数对比 意义 1. go没有类的概念 2. 方法:某个类别的行为功能,需要指定接收者 3. 函数:是一段独立功能的代码,可以直接调用。 语法: 1. 方法:方法名可以相同,只要接收者不同就可以 2. 阅读全文
posted @ 2020-05-05 21:07 henryno12 阅读(86) 评论(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 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 结构体 1. 概念 由一系列具有相同类型或不同类型的数据,构成的数据集合。 结构体成员由一系列的成员变量构成,这些成员变量也被称为“字段” 结构体也可理解为一个数据记录,结构体抛弃了面向对象类,继承等概念。 2. 结构体的定义与初始化 3. 结构体是值类型 4. make,new操作 make用于内 阅读全文
posted @ 2020-04-22 22:31 henryno12 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 指针 1. 概念 存储另一个变量的内存地址的变量 2. 获取变量地址 Go语言的取地址符是&,放到一个变量前使用返回相应的变量的内存地址 3. 声明指针 T是指针变量的类型,它指向T类型的值 4. 获取指针的值 获取一个指针意味着访问可访问指针指向的变量的值。 5. 操作变量 操作变量,更改数值,并 阅读全文
posted @ 2020-04-12 22:02 henryno12 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 闭包 1. 概念 一个外层函数中,有内层函数,该内层函数中,会操作外层函数的局部变量(外层函数的参数,或者外层函数中直接定义的局部变量),并且该外层函数的返回值就是这个内层函数。那么这个内层函数和外层函数的局部变量,统称为闭包结构。 2. 解释 实质就是将内层函数作为返回值,返回给调用处,那么引用调 阅读全文
posted @ 2020-04-07 22:06 henryno12 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 回调函数 1. 概念 高阶函数:可以将一个函数作为另一个函数的参数 2. 阅读全文
posted @ 2020-04-07 20:19 henryno12 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 匿名函数 1. 概念 没有名字的函数 2. 调用方式 1. 直接进行调用,通常只能使用一次。 2. 赋值调用,将匿名函数赋值给某个某个函数变量,则可以调用多次 3. 带参数的匿名函数 4. 带返回值的匿名函数 5. 匿名函数的用途 1. Go语言支持函数式编程 1. 将匿名函数作为另一个函数的参数, 阅读全文
posted @ 2020-04-04 23:05 henryno12 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 函数的数据类型及本质 1. 函数类型 2. 函数本质 1. 创建函数时,先创建一块内存空间,在内存中存储函数体,函数名fun1存储这块空间的地址(引用类型)。 2. fmt.Println(fun1) 打印出函数fun1的内存地址 3. fun1(1,2) 调用执行函数体内容 画外音:fun1与fu 阅读全文
posted @ 2020-03-29 21:00 henryno12 阅读(729) 评论(0) 推荐(0) 编辑
摘要: defer语句 1. 说明 defer的词义:“延迟”,“推迟” 在go语言中,使用defer关键词来延迟一个函数或方法的执行 2. defer函数或方法:一个函数或方法被延迟执行了,需要等到所有函数或方法中的所有代码执行完后才会执行defer修饰的函数或方法。 3. defer的用法 1. 对象. 阅读全文
posted @ 2020-03-29 00:16 henryno12 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 递归函数 1. 概念 一个函数自己调用自己。 递归函数要有一个出口,逐渐的向出口靠近。 2. 使用经验 1. 定义终结出口逻辑 2. 使用自调用的递归 阅读全文
posted @ 2020-03-21 22:03 henryno12 阅读(82) 评论(0) 推荐(0) 编辑