Go语言基础学习笔记 | 青训营

80 阅读3分钟

Go语言特点

  1. 高性能、高并发:Go语言基于轻量级线程——goroutine,可以很方便地实现并发编程。Goroutine的创建和销毁都非常快速,并且占用的内存资源较少。通过使用channel,在不同的goroutine之间进行通信和同步操作也变得简单高效。
  2. 语法简单、学习曲线平缓:与C语言类似。
  3. 丰富的标准库:稳定、兼容有保障。
  4. 完整的工具链:编译、代码格式化等。
  5. 静态链接:Go是一种静态类型语言,需要在声明变量时指定类型。这可以帮助开发者在编译时捕获一些错误。
  6. 快速编译:强于C++。
  7. 跨平台:Go语言支持多种操作系统,包括Windows、macOS、Linux等,同时也能够很方便地编译生成不同平台的可执行文件。
  8. 垃圾回收:Go语言的垃圾回收器采用了并发标记-清除算法,可以在运行程序的同时进行垃圾回收,减少了停顿时间。

总之,Go语言以其简洁、高效、并发安全和跨平台等特性,成为了一个受欢迎的编程语言,适用于各种规模和类型的应用程序开发。

Go环境配置

参考B站上的环境配置教学(最新版的VScode配置) 链接:VScode中配置Go语言环境

Go代码基本框架(以“Hello world”程序为例)

package main 
import( "fmt" ) 
func main(){ 
fmt.Println("hello world") 
}

让我们来看一下以上程序的各个部分:

  1. Package声明

    代码以 package main 开头,表明这个Go文件属于 main 包。在Go中,每个可执行程序都必须有一个 main 包,并且在 main 包中必须有一个main()函数作为程序的入口点。

  2. 导入语句

    使用 import "fmt"导入了 fmt 包。fmt 包是Go标准库中的一个包,提供了输入输出和格式化文本的功能。在本代码中,使用了 fmt.Println() 函数来输出文本。

  3. main函数

    在Go程序中,main()函数是程序的入口点。当程序执行时,它会首先执行 main()函数。在这段代码中,main() 函数简单地调用 fmt.Println() 函数,将字符串"Hello, World!"输出到控制台。

  4. 执行输出

    代码通过调用 fmt.Println("Hello, World!") 将 "Hello, World!" 这个字符串输出到终端。fmt.Println() 函数是一个方便的方法,用于在控制台输出文本,并在输出的最后自动添加一个换行符。

注意:通过学习,发现在Go中,函数名首字母的大小写决定了该函数的可见性。

  • 如果函数名以大写字母开头,那么它是可导出的 ,可以被外部包(package)调用和访问。其他包可以通过导入所在包后,使用包名.函数名的方式调用该函数。
  • 如果函数名以小写字母开头,它是私有的,被限制在当前包内部使用的函数,不可以被其他包直接调用和访问。这些函数只能在当前包内部使用,用于实现包的内部逻辑和私有功能。

在这个例子中,main()函数是可导出的,因为它以大写字母开头,允许被其他包调用。

个人思考 前面的“Hello world”代码例子让我很好地入门理解了Go语言。感觉go和之前学的C语言有相似之处,但是还是要自己整理梳理知识点,不梳理还是会和其他语言弄混淆;同时做笔记也能让自己印象更加深刻。除了理论的学习,实践编写一些具有小功能的代码可以很好地锻炼能力,深入地理解Go语言的特性和用法。