Go
37358143
我是一个小小整理家
展开
-
Golang学习之---反射机制(九)
①funcTypeOf(iinterface{})Type:获取reflect.Type类型 TypeOf返回接口中保存的值的类型,TypeOf(nil)会返回nil。 ②funcValueOf(iinterface{})Value:获取reflect.Value类型 ValueOf返回一个初始化为i接口保管的具体值的Value,ValueOf(nil)返回Value零值。 ③获取变量对应的类别kind,有两种方式: (1)Type接口中的方法 Kind() Kind:Kind返回...原创 2020-08-11 13:37:49 · 327 阅读 · 0 评论 -
Golang学习之---goroutine协程和channel管道(八)
一、goroutine和channel1.1 进程和线程①进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。②线程是进程的一个执行实例,是程序执行的最小单元,它是比进程更小的能独立运行的基本单位。③一个进程可以创建和销毁多个线程,同一进程中的多个线程可以并发执行。④一个程序至少有一个进程,一个进程至少有一个线程。1.2 程序、进程和线程的关系示意图1.3 并发和并行①多线程在单核上运行,为并发②多线程在多核上运行,为并行③示意图:小结:并发:在一原创 2020-08-11 23:25:23 · 446 阅读 · 0 评论 -
Golang学习之---文件流、json与testing单元测试(七)
一、文件操作文件时数据源(保持数据的地方)的一种,比如大家经常使用的word文档、txt文档、excel文档,包括存在数据库里的数据也是一种文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频,声音等...1.1 输入流和输出流1.2 os.File封装所有文件相关操作,File是一个结构体后面操作文件,会经常使用到os.File结构体1.3 打开文件和关闭文件...原创 2020-08-03 18:43:01 · 547 阅读 · 0 评论 -
Golang学习之---面向“对象”编程(接口与多态)下(六)
一、抽象把一类事物共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(结构体)。这种研究问题的方法称为抽象。二、封装encapsulation封装就是把抽象出来的字段和对字段的操作封装在一起,数据被保护在内部,程序的其他包只有通过被授权的操作(方法),才能对字段进行操作。2.1 封装的好处①隐藏实现细节,安全 ②可以对数据进行验证,保证安全合理(Age)2.2 封装的实现步骤①将结构体、字段的首字母小写(不能导出了,类似于Java中的private) ②给结构体所在包提原创 2020-07-29 16:53:45 · 133 阅读 · 0 评论 -
Golang学习之---面向“对象”编程(struct结构体、方法、工厂模式)(五)
一、面向“对象”编程一个程序就是一个世界。1、Golang语言面向对象编程说明①、Golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说:Golang支持面向对象编程特性是比较准确的。 ②、Golang没有类class,取而代之的是结构体struct。可以这样理解:Golang是基于struct来实现OOP特性的。 ③、Golang面向对象编程非常简洁,去掉了传统的OOP语言的继承(继承并不是去掉了,而是通过匿名字段实现)、方法重载、构原创 2020-07-28 16:17:54 · 381 阅读 · 0 评论 -
Golang学习之---Golang的数组、切片、排序和查找、map(四)
一、数组二、切片切片的数据结构是引用类型,切片是一个可以动态变化的数组。var切片名[]类型1、切片在内存中的布局从上图可以看出: 1、切片的确是一个引用类型 2、切片从底层来讲,其实就是一个数据结构(struct结构体) type slice struct { ptr *[2]int len int cap int }...原创 2020-07-21 17:25:07 · 2814 阅读 · 0 评论 -
Golang学习之---Golang的函数、包、错误处理机制、函数参数传递方式、变量(三)
一、函数1、函数的基本语法2、函数的调用过程上面的堆和栈都是逻辑空间,从上图可以得知: (1)在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间和其他栈的空间区分开来 (2)每个函数对应的栈中,数据空间是独立的,不回混淆 (3)当一个函数调用完毕后,编译器会自动销毁这个函数对应的栈空间。二、包1、包的使用注意事项(1)在给一个文件打包时,该包对应一个文件夹。比如这里的utils文件夹对应的包名是utils 文件的包名和文件所在的文件夹名一原创 2020-07-15 16:24:42 · 268 阅读 · 0 评论 -
Golang学习之---Golang语法介绍(二)
一、标识符的命名规范1、标识符概念Golang对各种变量、方法、函数等命名时使用的字符序列称为标识符。简单来说,凡是我们自己可以起名字的地方都叫标识符。2、命名规则1、数字、字母、_组成 2、数字不能打头 3、Golang中严格区分大小写。num和Num是两个不同的变量。 4、标识符不能包含空格 5、下划线_在Go中是一个特殊的标识符,称为空标识符。代表忽略,如忽略某个返回值。所以仅能作为占位符使用,不能作为标识符使用。 6、不能以系统保留关键字作为标识符(保留关键字公有25个),原创 2020-07-04 23:38:46 · 237 阅读 · 0 评论 -
Golang学习之---Golang的变量、常量与数据类型(一)
参考API Go语言中文网:https://studygolang.com/pkgdoc菜鸟教程:https://www.runoob.com/go/go-ide.html------SDK及安装工具下载,参考 word文档参考尚硅谷韩顺平老师视频这里的总结只是把初学时不懂的知识点列出来,系统性的知识参考《尚硅谷_韩顺平_Go语言核心编程.pdf》和 代码 goproject一、变量不管使用哪种高级程序语言编写程序,变量都是程序的基本组成单位。变量=变量名+值+数据类型二、数...原创 2020-07-04 23:39:19 · 528 阅读 · 0 评论