这是我参与「第六届青训营 」笔记创作活动的第一天
1.课程重点内容
1.1什么是go语言
具备高性能高并发,语法简单学习曲线平缓且具有丰富的标准库而且具备完善的工具链,可以跨平台编译以及垃圾回收等功能。
1.2基础语法
1.2.1 fmt
这个包功能强大具有许多功能其中就包括了Println,Scanf等等
1.2.1 if语句
import "fmt"
func main() {
/* 定义局部变量 */
var a int = 10
/* 使用 if 语句判断布尔表达式 */
if a < 20 {
/* 如果条件为 true 则执行以下语句 */
fmt.Printf("a 小于 20\n" )
}
fmt.Printf("a 的值为 : %d\n", a)
}
1.2.2 循环语句
import "fmt"
func main() {
for true {
fmt.Printf("这是无限循环。\n");
}
}
1.2.3可变长数组,切片
import "fmt"
func main() {
var numbers = make([]int,3,5)
printSlice(numbers)
}
func printSlice(x []int){
fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x)
}
2.实践练习
2.1猜数字
猜数字实例中学习到了go语言从键盘输入的两种方法,ReadString以及Scanf。并且还学习到了go语言中随机数的生成。
2.2在线字典
在本例子中学习到了从网页上扒下代码进行转换即可自己使用,例如将JSON转为Golang Struct.
2.3SOCKS5 代理
本例子较为难理解,但是从中也学习到了go语言的简单思想,本例子有协商阶段通过协商后发送请求建立连接从而返回响应,过后再发送请求返回请求。
3.总结
本次课程学习到了go语言的一些简单操作以及语法内容,通过三个例子入门了go语言,我发现go语言是c++和Pyth的一个结合,这对于我来说可以接受,go语言中的指针也是很好理解的,并且结构体也是很容易就可以学会,主要是第三个例子比较难理解,有待提高,期待后面的课程。