这是我参与「第五届青训营 」伴学笔记创作活动的第1天,两小节课程,快速学习了go语言
课程1
语法概述,记录下go语言其中的要点 在具体学习go语言的基础语法之前,我们来了解一下go语言出现的时机及其特点。
Go语言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三个大牛于2007年开始设计发明,他们最终的目标是设计一种适应网络和多核时代的C语言。所以Go语言很多时候被描述为“类C语言”,或者是“21世纪的C语言”,当然从各种角度看,Go语言确实是从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等诸多编程思想。但是Go语言更是对C语言最彻底的一次扬弃,它舍弃了C语言中灵活但是危险的指针运算,还重新设计了C语言中部分不太合理运算符的优先级,并在很多细微的地方都做了必要的打磨和改变。
为什么选择go
- 上手简单,学习曲线平缓
- 高性能高并发
- 丰富的标准库
- 独特的垃圾回收机制
- 跨系统
语法
1.变量
数据类型与c++相似,定义时如同
a:=5或者var a=5 ,未定义数据类型时,go语言会自动推算其数据类型,这一点非常方便,同时若要指明变量类型,都是变量类型后置声明。
2.循环
go中只有一种循环,即for循环
range遍历机制,评价是c++11范围循环的翻版
3.函数
go函数删除了不必要的括号,但是其大括号左边必须与函数名同一行,这一点,与c++非常不相同
但是其非常方便的地方在于,go函数可以返回多个参数,而不用额外进行操作,例如c++若要返回两个参数基本是要pair结构体,这体现go精简的特点
4.注释
没什么好说
5.引入包
go的引入包以import为关键字,“引入”,go对比c++方便在于,你在编写go程序的时候,会自动帮你引入包
6.结构体,结构体go同样抛弃了c++烦杂的特点,取消括号等,而结构体函数,只需变化函数形参的位置就可,非常方便
6.指针,与c差不多,记住类型后置就行了
7.切片,不定长数组,通过make关键字创建,通过s=append(s,"ab")添加