Go语言特点
- 高性能、高并发:Go语言基于轻量级线程——goroutine,可以很方便地实现并发编程。Goroutine的创建和销毁都非常快速,并且占用的内存资源较少。通过使用channel,在不同的goroutine之间进行通信和同步操作也变得简单高效。
- 语法简单、学习曲线平缓:与C语言类似。
- 丰富的标准库:稳定、兼容有保障。
- 完整的工具链:编译、代码格式化等。
- 静态链接:Go是一种静态类型语言,需要在声明变量时指定类型。这可以帮助开发者在编译时捕获一些错误。
- 快速编译:强于C++。
- 跨平台:Go语言支持多种操作系统,包括Windows、macOS、Linux等,同时也能够很方便地编译生成不同平台的可执行文件。
- 垃圾回收:Go语言的垃圾回收器采用了并发标记-清除算法,可以在运行程序的同时进行垃圾回收,减少了停顿时间。
总之,Go语言以其简洁、高效、并发安全和跨平台等特性,成为了一个受欢迎的编程语言,适用于各种规模和类型的应用程序开发。
Go环境配置
参考B站上的环境配置教学(最新版的VScode配置) 链接:VScode中配置Go语言环境
Go代码基本框架(以“Hello world”程序为例)
package main
import( "fmt" )
func main(){
fmt.Println("hello world")
}
让我们来看一下以上程序的各个部分:
-
Package声明
代码以
package main开头,表明这个Go文件属于main包。在Go中,每个可执行程序都必须有一个main包,并且在main包中必须有一个main()函数作为程序的入口点。 -
导入语句
使用
import "fmt"导入了fmt包。fmt包是Go标准库中的一个包,提供了输入输出和格式化文本的功能。在本代码中,使用了fmt.Println()函数来输出文本。 -
main函数
在Go程序中,
main()函数是程序的入口点。当程序执行时,它会首先执行main()函数。在这段代码中,main()函数简单地调用fmt.Println()函数,将字符串"Hello, World!"输出到控制台。 -
执行输出
代码通过调用
fmt.Println("Hello, World!")将 "Hello, World!" 这个字符串输出到终端。fmt.Println()函数是一个方便的方法,用于在控制台输出文本,并在输出的最后自动添加一个换行符。
注意:通过学习,发现在Go中,函数名首字母的大小写决定了该函数的可见性。
- 如果函数名以大写字母开头,那么它是可导出的 ,可以被外部包(package)调用和访问。其他包可以通过导入所在包后,使用包名.函数名的方式调用该函数。
- 如果函数名以小写字母开头,它是私有的,被限制在当前包内部使用的函数,不可以被其他包直接调用和访问。这些函数只能在当前包内部使用,用于实现包的内部逻辑和私有功能。
在这个例子中,main()函数是可导出的,因为它以大写字母开头,允许被其他包调用。
个人思考 前面的“Hello world”代码例子让我很好地入门理解了Go语言。感觉go和之前学的C语言有相似之处,但是还是要自己整理梳理知识点,不梳理还是会和其他语言弄混淆;同时做笔记也能让自己印象更加深刻。除了理论的学习,实践编写一些具有小功能的代码可以很好地锻炼能力,深入地理解Go语言的特性和用法。