-
Go全栈第12节:Go并发编程Goroutine
进程、线程、协程的概念,goroutine实现多线程,runtime包调度与终止协程
-
Go全栈第11节:Go I/O流
os包中的file接口,Stat获取文件信息,文件权限,Mkdir创建目录,Create创建文件,Remove删除目录与文件,Openfile打开文件,file.Read方法读取文件内容,file.Write写入文件内容,文件复制,file.Seek偏移文件光标位置,实现断点续传文件,递归遍历文件,bufio包缓冲区方式读取写入文件,提高IO效率,bufio包获取键盘的输入
-
Go全栈第10节:Go常用包
包的声明与导入,默认方式导入,包别名导入,匿名导入包只执行init初始化函数,init优先于main函数执行,strings包的字符串常用操作,strconv包字符串与基本类型的转换, time包 获取时间与时间戳、时间格式化、解析字符串格式的时间,时间戳与时间对象的转换,生成随机数,时间间隔常量Duration,time.Tick定时器,time包时间的常用操作Add、Sub、Equal、Before、After
-
Go全栈第9节:错误与异常
panic恐慌异常,go语言没有try catch捕获错误,而是函数返回值返回错误,errors.new返回错误类型,自定义error错误类型,panic抛出异常,recover捕获异常恢复程序执行,go语言鼓励工程师自定义错误
-
Go全栈第8节:面向对象编程详解
go不是面向对象语言,通过一些方法模拟面向对象的封装、继承、多态,结构体嵌套匿名结构体模拟继承,go同时拥有函数和方法,区别它们,模拟方法的重写,结构体实现了接口定义的全部方法,那它就是实现了这个接口,接口实现多态,空接口的重要性,相当于Java中的Object类,是任何数据类型的父类,Map中的value与切片中的value数据元素可以是空接口,相当于ArrayList Object,接口继承,接口断言,type别名
-
Go全栈第7节:Go指针与结构体
定义指针,通过指针获取与修改它指向的变量的值,指针变量的嵌套使用,指向一个指针变量的指针,数组指针,指针数组的使用,函数返回结果是指针,指针作为函数的入参,突破值传递的拷贝限制,结构体的定义与使用,结构体是值类型的推导,new关键字创建结构体对象,返回结构体指针来操作对象,结构体嵌套,结构体的import访问权限跟首字母大写有关
-
Go全栈第6节:切片和Map
切片就相当于java的ArrayList,可扩容的数组,使用make函数创建切片,切片扩容,for range切片遍历,切片内存分析,通过指针指向底层数组,在已有数组上创建切片,切片是引用类型,默认是浅拷贝的,如何实现深拷贝,使用copy函数,make函数创建map,map集合使用,通过ok-idiom来判断map集合的key value是否存在, delete删除map集合中的元素,for range遍历map,切片与map的整合使用,像List、Map
-
Go全栈第5节:Go数组详解
数组的初始化,for range遍历数组,数组是值类型传递,冒泡排序练习,多维数组
-
Go全栈第4节:Go函数详解
函数的声明和调用,有多个返回值的函数声明,形参与实参,可变参数,参数传递包括值传递与引用传递,局部变量与全局变量,递归函数,defer关键字延迟函数的执行与使用场景关闭资源与java的finally类似,函数的高阶使用,包括函数本质是一个变量,数据类型是func,匿名函数的使用,函数作为参数传递即回调函数,外层函数与内层函数的局部变量即闭包结构,它的生命周期不同与正常的局部变量
-
Go全栈第3节:Go流程控制
if语句,switch语句,fallthrough贯穿,for循环,break与continue关键字, for range遍历字符串、数组、切片,Map,字符串是由字符构成,每个字符是byte类型不可以修改的
-
Go全栈第2节:Go基础语法
注释给自己看也给别人看,变量的定义var关键字,短变量赋值,变量本质是一块内存空间,打印变量的内存地址,变量交换,匿名变量,局部变量与全局变量,const常量,特殊常量iota,数字类型,uint8的别名byte,int32的别名rune,字符和字符串,字符串的连接与转义字符,数据类型转换,运算符,获取键盘输入
-
Go全栈第1节:认识Go语言
go语言发展史,go语言能做什么,go语言环境安装,goland安装,helloworld