这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记
-
GO语言特点
- 高性能,高并发
- 语法简单,学习曲线平缓
- 丰富的标准库
- 完善的标准库
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收
入门知识
-
配置开发环境
-
基础语法
-
实战
-
猜数游戏
- 生成随机数
- 用时间戳来初始化随机数种子
- 读取用户输入
- 实现判断逻辑
- 实现游戏循环
package main import ( "bufio" "fmt" "math/rand" "os" "strconv" "strings" "time" ) func main() { maxNum := 100 rand.Seed(time.Now().UnixNano()) secretNumber := rand.Intn(maxNum) // fmt.Println("The secret number is ", secretNumber) fmt.Println("Please input your guess") reader := bufio.NewReader(os.Stdin) for { input, err := reader.ReadString('\n') if err != nil { fmt.Println("An error occured while reading input. Please try again", err) continue } input = strings.TrimSuffix(input, "\n") guess, err := strconv.Atoi(input) if err != nil { fmt.Println("Invalid input. Please enter an integer value") continue } fmt.Println("You guess is", guess) if guess > secretNumber { fmt.Println("Your guess is bigger than the secret number. Please try again") } else if guess < secretNumber { fmt.Println("Your guess is smaller than the secret number. Please try again") } else { fmt.Println("Correct, you Legend!") break } } } 复制代码
-
-
在线词典
- 抓包
- 代码生成
- 生成request body
- 解析response body
- 打印结果
- 完善代码
-
SOCKS5 代理
- TCP echo server
- auth
- 请求阶段
- relay阶段