Go如何自学 | 青训营

113 阅读3分钟

🍉常用工具和额外练习

首先,你要会使用常用工具进行Debug,这里介绍7个工具,GPT,Google,百度,B站,youtube,bing,StackOverFlow,熟练使用这7个工具,并培养英文阅读能力,投入足够的时间,你的技术会慢慢进步的。 第二个,Go如何自学呢。掘金的字节内部课看了下,其实不完全适合小白,但是小白认真把课程过一遍还是很有收获的。这里推荐一个Go基础语法入门和常用调试技巧的视频👇:(只有5个小时,考虑到字节内部课只花了30分钟,就讲完了Go的所有语法,基础不牢,而且很多调试技巧是需要自己另外去学习的) 【golang教学】第二章:golang的基础知识——结构,包,变量初探(1010工作室出品)_哔哩哔哩_bilibili 👆完全0基础,甚至连,C,C++或者Java都还没开始接触的同学,也是能看懂的

🍈源码网址和如何自学

首先,青训营很贴心地让导师整理了课程笔记和一些小tips,比如👇 Go 语言上手 - 基础语法 .pptx - 飞书云文档 (feishu.cn) Go 语言入门 - 工程实践 .pptx - 飞书云文档 (feishu.cn) 同时,还提供了大量掘金地优秀文章,供大家查漏补缺,详情可以看飞书群的公告 关于字节内部课的课程。我先按教程,下载了Git,然后从Github拉取每节课对应的源码,每次学习前,先打开对应的v1,v2,v3,v4的源码,视频里所有源码都会跟着敲一遍,出现Bug就bing或者Google,或者找点视频学习下,或者对照源码跑下。同时结合上面7个工具,搜索对应专业名词的具体意思,比如锁,比如通道等等。

😰一个BUG

其实也不算BUG,后端基础班,第2个视频,第3个小项目,要求实现Socks5代理服务器,问题是不能用go run 跑,只能用nc跑,但是Windows没有nc这个指令,当时拜拜浪费了2小时检索为什么跑不通,源码也不行。后来群里问了才知道。所以除了7个工具外,几个群,大家没事也可以转转。

🍉tips

注意! run时,要点func main()左边的绿色▲,而不是右上方的虫子和▲

*注意2~ * 一个文件夹下,只能有一个main.go文件

🌼输入输出和数组

注意先安装Goland,Git,弄个Github学生认证,免费使用

跟着敲一遍(70行代码),先有个印象👇

package main
 
import (
	"errors"
	"fmt"
	"time"
)
 
func main() {
	t := 2 //声明并初始化一个新的变量
	switch t {
	case 0, 1:
		fmt.Println("zero or one")
	case 2:
		fmt.Println("two")
	default:
		fmt.Println("other")
	}
 
	tt := time.Now()
	switch {
	case tt.Hour() < 12:
		fmt.Println("it is before noon")
	default:
		fmt.Println("it is after noon")
	}
 
	v := 42
	switch v {
	case 100:
		fmt.Println(100)
		fallthrough
	case 42:
		fmt.Println(42)
		fallthrough
	case 1:
		fmt.Println(1)
		fallthrough
	default:
		fmt.Println("default")
	}
 
	for j := 7; j < 9; j++ {
		fmt.Println(j)
	}
 
	i := 1
	for i <= 3 {
		fmt.Println(i)
		i = i + 1
	}
 
	nums := []int{2, 3, 4}
	sum := 0
	for idx, num := range nums {
		fmt.Println("range to index", idx)
		sum += num
	}
	fmt.Println("sum:", sum)
}

课程第一个视频,30分钟贴了20个代码,建议都敲一遍,正确输出后再进行下一个视频。暑期能跟完13个视频就行,后续的课程,有时间的话,再考虑买一个月VIP看看。