写点什么

Go 事,如何成为一个 Gopher ,并在 7 天找到 Go 语言相关工作,第 1 篇

作者:梦想橡皮擦
  • 2022 年 8 月 15 日
    河北
  • 本文字数:2235 字

    阅读完需:约 7 分钟

⛳️ 学习前

本系列博客目标定位是 7 天内学会 Go 语言,并且找一个 Go 相关的工作,那必然存在一些前提条件,即前置技术点。


你需要:


  • 具备一门编程语言基础,Python,PHP,C# …… 都可以;

  • 熟悉 Linux 基本操作,至少在服务器端搭建过小项目;

  • 熟练的电脑操作,打字速度还不错。


有这些基础,才可以在 7 天内快速掌握 Go 语言,否则很难办到。

⛳️ 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 语言学习中文官网,可以自行通过搜索引擎检索,社区非常多,学习阶段可以海量吸收。

Go 的 hello world

在官网下载了最新版本,原则上学习阶段选择低版本比较好,相对纯粹,但我们本期是快速入门,所以直接上新的。



安装吧一路下一步,进入安装等待页面。



安装之后进入 CMD 即可查看其版本号,使用如下命令:


C:\Users\Administrator>go versiongo 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.goPS F:\go_learn> ls目录: F:\go_learnMode                LastWriteTime         Length Name----                -------------         ------ -----a----        2022/7/20     11:41        1892352 01_demo.exe-a----        2022/7/20     10:42             79 01_demo.go
复制代码

⛳️ Go 语法细节

在 Go 语言中,一行就是一个语句,末尾不需要使用 ; 结尾,其实实战中也可以在一行写多个语句,然后把 ; 使用上,但是基本无人这样操作。


func main() {  fmt.Println("Hello");fmt.Println("World")}
复制代码


在 VSCode 中,就自动被格式化了。


注释注释比较简单,单行使用 // ,多行使用 /**/


标识符在 Go 中,用来命名变量,函数,类型的内容,就是标识符,它需要由字母,数字,下划线组成,而且要求第一个字符必须是字母或下划线,不能是数字,这一点其它语言也是这么要求的,无学习难度。


关键字在 Go 中,有 25 个关键字或保留字,这些一般不用特别记忆,而是要求自己的标识符命名的时候,尽量词能达意。


变量的声明 Go 语言是静态类型,变量声明需要有明确类型,语法格式如下所示:


var name type
复制代码


其中 var 是关键字, name 是变量名, type 是变量的类型。


Go 语言的基本类型有:


  • string

  • int、int8、int16、int32、int64

  • uint、uint8、uint16、uint32、uint64、uintptr

  • byte(uint8 的别名)

  • rune (int32 的别名)

  • float32、float64

  • complex64、complex128

  • bool


变量被声明之后,系统自动赋零值,例如 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 的起手式,下一篇即将到来~


📢📢📢📢📢📢💗 你正在阅读 【梦想橡皮擦】 的博客👍 阅读完毕,可以点点小手赞一下🌻 发现错误,直接评论区中指正吧📆 橡皮擦的第 <font color=red>696</font> 篇原创博客


发布于: 刚刚阅读数: 4
用户头像

爬虫 100 例作者,蓝桥签约作者,博客专家 2021.02.06 加入

6 年产品经理+教学经验,3 年互联网项目管理经验; 互联网资深爱好者; 沉迷各种技术无法自拔,导致年龄被困在 25 岁; CSDN 爬虫 100 例作者。 个人公众号“梦想橡皮擦”。

评论

发布
暂无评论
Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇_Python_梦想橡皮擦_InfoQ写作社区