Go语言基础

143 阅读4分钟

一、开发工具

  • 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来完成并发操作,希望自己能通过这段青训营的学习,提升个人的技术水平能力。