本日重点
- 搭建go开发环境。
- 学习go的基本使用。
- 三个小的实战demo
详细知识点介绍
给了二十个知识点,example写的很棒!这里必须点赞,感觉代码相比于给的ppt流畅很多(话说,飞书自带的文档确实慢了些)。
很不明白为什么结构体的方法在结构体外哈哈。
type user struct {
name string
password string
}
func main() {
a := user{name: "wang", password: "1024"}
b := user{"wang", "1024"}
c := user{name: "wang"}
c.password = "1024"
var d user
d.name = "wang"
d.password = "1024"
fmt.Println(a, b, c, d) // {wang 1024} {wang 1024} {wang 1024} {wang 1024}
fmt.Println(checkPassword(a, "haha")) // false
fmt.Println(checkPassword2(&a, "haha")) // false
}
func checkPassword(u user, password string) bool {
return u.password == password
}
func checkPassword2(u *user, password string) bool {
return u.password == password
}
实践
给了三个实践的例子。分别是随机猜数,在线词典和Sockts5代理。这里比较好的地方是每个demo都给了四个版本,从程序最简单的功能开始逐渐向上迭代,对开始的基础知识巩固的很棒。
课后总结
感觉go的依赖管理很强大,不需要单独的的maven或gradle快,据说部署很牛逼,暂时还没尝试。
go的标准库感觉干了很多的事情,对于字符串json和http处理很强大。
感觉go语言写起来有些类似动态语言,但确实是静态语言,编译的时候就能发现错误,有些c+python的感觉,别的同学说的反射,接口,携程暂时还没用到。
传闻中的err != nil超级多!基本写一个函数就有一个!
课程感想
早上十点群里发布今天的学习任务,对于我这样没有go基础的人来说视频讲的知识实在是太快了,两个视频合起来一共一个小时左右,搭配看看给的资料和重写一下大概需要四到五倍的时间。其中仅仅只限于使用,很多相关的基础概念说的不是很明白。