本系列博客目标定位是 7 天内学会 Go 语言,并且找一个 Go 相关的工作,那必然存在一些前提条件,即前置技术点。
你需要:
有这些基础,才可以在 7 天内快速掌握 Go 语言,否则很难办到。
学习语言要先了解其背景,其中可以找到该语言产生的原因,还有该语言核心解决的问题。
Go 是开源的,并且在 2007 年开始研发,2009 年开源,2012 年发布 1.0 版本,作为一门语言来说,非常年轻。
而且 Go 语言是 Unix 的作者,C 语言的作者,而且谷歌的 V8 引擎都是由该人打造的,并且 Go 的推出是由谷歌公司落地的,所以背靠大山。
Go 的吉祥物是一个地鼠(学名囊地鼠,金花鼠,英文名 Gopher),所以很多 Go 的开放者把自己叫做 Gopher。
Go 语言的官网
https://golang.google.cn/learn/
Go 语言的 gihub
https://github.com/golang/go
这两个站点是未来学习工作获取一手资料的重点位置。
还有一些 Go 语言学习中文官网,可以自行通过搜索引擎检索,社区非常多,学习阶段可以海量吸收。
在官网下载了最新版本,原则上学习阶段选择低版本比较好,相对纯粹,但我们本期是快速入门,所以直接上新的。
安装吧一路下一步,进入安装等待页面。
安装之后进入 CMD 即可查看其版本号,使用如下命令:
C:\Users\Administrator>go version
go version go1.18.4 windows/amd64
接下来直接编写 Hello World 代码,Go 语言的后缀是 .go
,可以在本地任意目录创建一个 01_demo.go
文件。
安装之后,发现在 Go 包在 VSCode 中集成了一些功能。
如果提示其需要安装扩展,可以自行补充。
Hello World 代码非常简单,使用下述命令即可。
package main
import "fmt"
func main() {
fmt.Println("Hello,World")
}
运行也非常简单,使用 go run 文件名
即可。
因为我们已经有其它语言的基础,所以语法层面的知识点可以直接总结。
首行代码 package main
,定义包名,Go 语法要求必须在非注释的第一行指定该文件属于哪个包。
该行代码是导入 Go 语言的 main 包,main 包装是特殊的,它定义了一个独立的可执行程序,而不是库。在 main 包中,函数 main 也是特殊的,它是程序开始执行的地方。
Go 语言的所有文件都需要指定其所在包(package),包的类型有两种,一种就是 main 包,使用 package main 导入,另一种是非 main 包,使用 package 包名
导入,在 Go 中使用 package 管理源文件,package 必须在一个文件夹内,而且该文件夹下只能有一个 package。
代码行 import "fmt"
表示需要使用 fmt
包,即调用其变量、函数等内容,该包用于格式化 I/O,即输入和输出函数。
代码行 func main()
是程序的开始函数,每一个可执行程序必须包含 main
。
代码行 fmt.Println("Hello,World")
,输出函数,其中可以看到 fmt
包被调用,按照其它语言的经验 Println
表示换行, Print
表示不换行。
这里还实验过一个操作,当大括号 {
或者 }
在单独一行时,会出现错误。
func main()
{
fmt.Println("Hello,World")
}
除了上文提及的 go run 文件名
运行 Go 程序外,还可以使用 go build 文件名
将 Go 代码编译为 exe
程序。
PS F:\go_learn> go build .\01_demo.go
PS F:\go_learn> ls
目录: F:\go_learn
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2022/7/20 11:41 1892352 01_demo.exe
-a---- 2022/7/20 10:42 79 01_demo.go
在 Go 语言中,一行就是一个语句,末尾不需要使用 ;
结尾,其实实战中也可以在一行写多个语句,然后把 ;
使用上,但是基本无人这样操作。
func main() {
fmt.Println("Hello");fmt.Println("World")
}
在 VSCode 中,就自动被格式化了。
注释
注释比较简单,单行使用 //
,多行使用 /**/
。
标识符
在 Go 中,用来命名变量,函数,类型的内容,就是标识符,它需要由字母,数字,下划线组成,而且要求第一个字符必须是字母或下划线,不能是数字,这一点其它语言也是这么要求的,无学习难度。
关键字
在 Go 中,有 25 个关键字或保留字,这些一般不用特别记忆,而是要求自己的标识符命名的时候,尽量词能达意。
变量的声明
Go 语言是静态类型,变量声明需要有明确类型,语法格式如下所示:
var name type
其中 var
是关键字, name
是变量名, type
是变量的类型。
Go 语言的基本类型有:
变量被声明之后,系统自动赋零值,例如 int 类型为 0,float 类型为 0.0 ……
命名规范遵循小驼峰命名法,例如 myName,xiaomingAge。
字符串连接和字符串格式化
语法与其它语言一致, +
表示连接,格式化字符串的时候, %s
, %d
分别表示字符串和数字,格式化函数如下所示:
package main
import "fmt"
func main() {
var str_format = "数字:%d,字符串:%s"
var new_str = fmt.Sprintf(str_format, 100, "橡皮擦")
fmt.Println(new_str)
}
本篇博客只是 Go 的起手式,下一篇即将到来~
你正在阅读 【梦想橡皮擦】 的博客
阅读完毕,可以点点小手赞一下
发现错误,直接评论区中指正吧
橡皮擦的第 696 篇原创博客
从订购之日起,案例 5 年内保证更新