这是我参与「第五届青训营 」笔记创作活动的第1天。
一、本堂课重点内容(初识Go的重点内容):
对于小白初识GO,首先得知道怎么使用Go。
1、下载Go语言包
2、配置编程环境
3、下载ide(集成开发环境){“GOLand”}、下载编译器{“VScode”}
二、详细知识点介绍:
基础语法
1、循环
仅有一种循环(for)
2、变量
强类型语言
可以用=比较字符串
3、判断
if else
不需要写()但需要{}
switch
基本相同
4、数组
长度确定
5、切片
长度任意可改
s:=make{ [ ] string,3} //创建切片
6、map
m:=make{ map[ string],int}
7、range
8、函数
俩个返回值{结果,错误}
9、指针
10、结构体
11、结构体方法
12、错误处理
能够清晰的知道哪里出错,可用If else
13、字符串操作
strings.conains(判断字符串是否有)
strings.counts
strings.hasprefix
strings.hassuffix
strings.index(查找位置)
strings.join(连接)
strings.repeat(重复)
strings.replace(替代)
strings.split
strings.tolower
strings.toupper
14、字符串格式化
详细程度
fmt.printf(“s=%v\n”)
fmt.printf(“s=%+v\n”)
fmt.printf(“s=%#v\n”)
15、json处理
16、时间处理
17、数字解析
18、进程信息
三、实践练习例子:
- 有什么实践举例帮助理解知识点? 1猜数字游戏 2在线抓包字典(遇到了科技小云打不开问题,无法跟老师同步操作) 四、课后个人总结:
- 本章有什么知识点不容易掌握? 这老师讲的飞快,也不详细。其实略过自己实践是好的办法。 六、相关代码: 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.Trim(input, "\r\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
}
}
}