这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
今天是「第五届青训营」的第一天,学习了Go语言的基础知识。对于我这个刚刚接触Go语言的新手来说,有很多知识点都是非常陌生的。通过老师的讲解,我对Go语言的基本语法、变量、数组、循环、条件语句等有了一定的了解。
在学习过程中,我深刻地意识到了Go语言简洁高效的特点。Go语言的语法简单明了,并且支持并发编程,这使得Go语言在高并发、大数据处理等领域有着广阔的应用前景。
另外,我也了解到了Go语言的开发工具,如GoLand、VS Code等,这些工具能够提高我的开发效率。
总的来说,今天的学习内容对我来说非常有意义,我会在今后的学习中不断加深对Go语言的理解,并努力提高自己的编程能力。
下面是我的一些总结过的笔记内容。
一、开发工具
- GoLand
- VSCode(需要安装Go插件)
在两款开发工具的官网和插件介绍了解了一下,这两款开发工具都非常的方便。
1. GoLand
GoLand是JetBrains公司推出的一款专为Go语言开发而设计的集成开发环境(IDE)。它拥有强大的代码编辑、调试、跟踪、重构等功能,能够大大提高Go语言开发的效率。
GoLand具有如下特点:
- 支持代码自动完成、智能提示、错误检查等功能
- 支持单步调试、跟踪、断点等调试功能
- 支持代码重构、重命名、提取函数等重构功能
- 支持语言插件,可以与其他语言进行互操作
- 支持 Git, Mercurial, Subversion, Perforce, CVS, TFS等版本管理工具
GoLand是目前Go语言开发中非常受欢迎的一款工具,它能够提高Go语言开发的效率和质量。
2. VSCode(Go插件)
Visual Studio Code (简称 VSCode) 是微软推出的一款轻量级、免费、开源的代码编辑器。Go插件是VSCode当中用于支持Go语言开发的一款插件。
Go插件主要包含以下功能:
- 代码自动完成: 支持自动提示函数名、变量名等。
- 代码格式化: 支持格式化Go代码,使代码更具可读性。
- 语法检查: 支持语法检查,可以发现程序中的语法错误。
- 单元测试:支持单元测试,可以在编辑器中运行单元测试
- 调试: 支持断点、调试、追踪等调试功能
- 集成终端: 支持集成终端, 可以在VSCode中直接运行Go程序。
Go插件是VSCode中非常流行的一款插件,它能够为Go语言开发者提供很好的支持,提高开发效率。
总的来说GoLand是一款功能非常齐全且强大的IDE,但是对于我这样刚入门Go语言的新手来说,完全不能发挥它的优势。而使用安装Go插件的VSCode对我来说它十分轻便而且足够我整个青训营期间的开发,所以我最后选择使用安装了Go插件的VSCode。
二、Go语言基础
下面是第一天上课的笔记。
1. Hello, World
相信每一门编程语言入门的第一行代码大家敲都是Hello, World吧,哈哈哈哈哈哈哈。
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
🤣像这样我就又学会了新的一门语言的Hello, World
2. 变量
Go是一门强类型语言,但是第一次碰到的时候乍一看怎么和JS有点像呢,下面是它的几种声明变量方式
// 第一种
var greeting string
greeting = "hello, go"
// 第二种
var greeting = "hello, go"
// 第三种
greeting := "hello, go"
像第一第二种声明方式,编译器能自动推导变量的类型,所以不用显示声明变量的类型。
3. 判断
Go语言中的判断语句和C、Java类似但是省去了括号
number := 1
if number%2 == 0 {
fmt.Println("Even")
} else {
fmt.Println("Odd")
}
3. 循环
在Go语言中,仅一个for就可以代替了类C语言的for、while、do...while
// 第一种
count := 0
for {
fmt.Println("count:", count)
count += 1
if count >= 10 {
break
}
}
// 第二种
count := 0
for count < 10 {
fmt.Println("count:", count)
count += 1
}
4. 数组 & 切片
数组和切片是两种看起来是一样的,但实际并不一样的数据结构
// 数组,一旦声明大小就不再改变
var array1 [5]int{1, 2, 3, 4, 5}
array2 := [3]string{"apple", "banana", "pineapple"}
// 切片,大小可变
var slice1 []int{1, 2, 3, 4, 5}
slice2 := []int{1, 2, 3}
slice3 := make([]string}
slice3 = append(slice3, "apple")
// 两者都可以用len()、cap()等内置函数
array_len := len(array1)
slice_len := len(slice1)
5. map
在Go语言中,map是一种关联数组类型,它存储键值对数据,是一种无序的集合,可以通过键来访问值
// map的几种声明方式
// 这样的map声明出来是nil,是不能使用的,需要注意,最好用make函数
var ages map[string]int
ages := make(map[string]int)
ages := map[string]int{ "alice":31, "bob":25, "chris":34, }
// 可以通过键访问值
age := ages["alice"]
6. 案例 & 标准库
今天的课程中,老师还讲解了几个标准库的使用方法并通过3个案例来展示了这几个标准库一般都是怎么运用在项目中的
标准库
- strings
- strconv
- rand
- encoding/json
- time
- os
三、第一天总结
Go语言的语法相较于类C语言确确实实的简化了很多,但是在大学学习中习惯了C语言的我学起Go多少是有点不习惯,今天的内容还有很多,但是写的有点累了,明天的课程结束后再写吧🥲