一、开发工具
- 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吧,哈哈哈哈哈哈哈。
go
复制代码
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
🤣像这样我就又学会了新的一门语言的Hello, World
2. 变量
Go是一门强类型语言,但是第一次碰到的时候乍一看怎么和JS有点像呢,下面是它的几种声明变量方式
go
复制代码
// 第一种
var greeting string
greeting = "hello, go"
// 第二种
var greeting = "hello, go"
// 第三种
greeting := "hello, go"
像第一第二种声明方式,编译器能自动推导变量的类型,所以不用显示声明变量的类型。
3. 判断
Go语言中的判断语句和C、Java类似但是省去了括号
go
复制代码
number := 1
if number%2 == 0 {
fmt.Println("Even")
} else {
fmt.Println("Odd")
}
3. 循环
在Go语言中,仅一个for就可以代替了类C语言的for、while、do...while
go
复制代码
// 第一种
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. 数组 & 切片
数组和切片是两种看起来是一样的,但实际并不一样的数据结构
go
复制代码
// 数组,一旦声明大小就不再改变
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是一种关联数组类型,它存储键值对数据,是一种无序的集合,可以通过键来访问值
go
复制代码
// 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"]
课后个人总结
go语言和c语言表面上还是比较相似的,语法上手速度很快,可以非常简单的使用go来完成并发操作,希望自己能通过这段青训营的学习,提升个人的技术水平能力。