这是我参与「第五届青训营 」笔记创作活动的第1天。
今天我看完了后端课程的走进 Go 语言基础语言及Go 语言的实战案例这两节课,对于一个go语言小白来说这两节课的信息量简直恐怖,短短几十分钟时间我们便大致了解了go的基础语法并且动手实操完成了三个小项目。
一、本堂课重点内容:
- Go 语言简介
- Go 语言开发入门,包括开发环境配置、基础语法、标准库
- Go 实战,包括三个实战项目
二、详细知识点介绍:
go语法:环境、变量、常量、运算符、条件语句、循环语句、函数、指针、结构体、数组、切片、range、map这些大家可以看着Go by Example 中文版 (gobyexample-cn.github.io)这个网站来加深印象。
三、实践练习例子: 实践1:猜数字游戏
fmt.Println("Please input your guess")
reader := bufio.NewReader(os.Stdin)
input, err := reader.ReadString('\n')
if err != nil {
fmt.Println("An error occured while reading input. Please try again", err)
return
}
input = strings.Trim(input, "\r\n")
guess, err := strconv.Atoi(input)
这里大家要注意在字符串转int类型的时候要先去掉字符串中的"\r"和"\n",不然转换strconv.Atoi()的结果只会是0。这里的输入如果用fmt.Scanf一类的话会方便很多。
实践2:在线词典 用户输入一个单词,我们通过第三方API查询并打印出来 步骤: F12找到对应信息的cURL后通过Convert curl commands to Go (curlconverter.com)这个网站直接转换成go语言对应的代码。
这能极大的减轻我们的工作,运行网站生成的代码我们就能获取发送请求的结果。我们需要的信息也包含在内,故接下来我们只需要将他们提取出来就行了。
通过JSON转Golang Struct - 在线工具 - OKTools这个网站我们可以将json字符串生成对应的response结构体,我们先定一个response的结构体的对象,然后用JSON.unmarshal把body反序列化到这个结构体里面,随后就可以观察到我们需要的结果了。
最后打印出我们需要的内容就行了
var dictResponse DictResponse
err = json.Unmarshal(bodyText, &dictResponse)
if err != nil {
log.Fatal(err)
}
fmt.Println(word, "UK:", dictResponse.Dictionary.Prons.En, "US:", dictResponse.Dictionary.Prons.EnUs)
for _, item := range dictResponse.Dictionary.Explanations {
fmt.Println(item)
}
实践3:SOCKS5 代理
这个还正在学习
四、课后个人总结:
总结:这节课我们学习了go的语法并且完成了三个练手的项目
五、引用参考:
Go by Example 中文版 (gobyexample-cn.github.io)