1、golong 基本教程
编辑器使用goland
基础知识,对比java的一些不同点,如下:
容器:map,使用make进行初始化
流程控制:
break可以指定标签跳出
switch不需要break
有goto
函数:支持多返回值
defer关键字,延迟调用
panic 程序宕机
recover 程序恢复
chan 关键字
go 协程,多线程
单元测试,文件必须test.go 结尾,里面的函数必须以Test开头
go没有class
select和swich相比,select里的每个条件都是io操作
视频教学资料(二次巩固)
java语言对比:
依赖管理:maven -> go module.依赖默认可能在国外,需要设置goproxy代理。早期是都在vender目录下。replace关键字可以替换包地址
线程-并发:线程池 -> 协程
web框架 springboot -> gin/beego/
一个包有多个init函数,java里poststruct方法
等待组类似于java里的原子技术器类
通过封装实现类似java的class。go导出标识符,只有首字母大写外部才能访问,结合封装来理解
语法类细节:
capital, ok := countryCapitalMap [ "American" ] /*如果确定是真实的,则存在,否则不存在 */
capital是值,ok是true或false
最后
letcode里刷几道go的题目来巩固知识
书:
许式伟:我与 Go 语言的这十年