开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第11天
将学过的知识记录下来和大家一起分享,万丈高楼平地起,地基得打好,从今天就将Go语言学习研究一番。
go语言的历史,这里起码要知道go是google出品的一款开源的跨平台编程语言即可,详细的大家感兴趣的可以自行百度。
go语言优势就是既有类似python等动态语言的开发速度又有C、C++等编译型语言的性能和安全性。
go语言的开发基于goroutine,这个是类似与线程并非线程的虚拟线程,可以最大限度调用CPU性能,开启一个goroutin消耗小,启动时间比线程快,所以go是支持高性能并发的。
go学习简单,代码风格统一,使用go fmt格式化工具,可以保证不同开发者提交代码的格式是统一的,想必介绍到这里是不是很心动了。
谁使用go语言开发,目前稍微大点的公司基本全覆盖了,适合做哪些呢,从服务端、分布式系统、微服务、区块链、云管理平台等都有它的身影。
好的下面开始罗列一下go的基础知识点:
- 安装设置
从官网golang.google.cn/dl/下载安装包,根据系统自行选择
直接安装可以自定义go目录的安装路径
这里讲一下环境变量
goroot 就是go语言安装的根目录
gopath就是包含你自定义项目的路径
gobin就是go程序生成的可执行文件的目录路径
再来讲一下工作区,一般会建三个文件夹,一个src就是放源代码的目录,一个pkg目录就是放归档,中间缓存文件的目录,bin就是放可执行文件目录,如果设置了gobin的环境变量就没必要单独设置了。
2、编辑器
那个顺手用那个,这个可以自行查找,一般用golang或者vscode,但其他花里胡哨的都可以哈。还可以顺便安装个git(这个安装很简单,不会就用度娘),管理代码那是相当的省心。
- 代码包
就是src子目录的某一个子目录,通过代码包路径导入相应的源码文件,同一个代码包中的所有源码文件的代码包什么语句是应该一直得到,代码包得的名字可与其对应的目录名称不同,但是最好还是一致。
代码包中得的源码文件就是独立程序的入口,属于main包(包含无参数无结果的main函数),通过命令go run运行,接受命令行参数,面函数执行结束就说明当前程序运行结束。源码文件里有命令源码可以构建后生成可执行文件,还有库源码文件,就是给其他代码使用相当于依赖,还有测试源码,就是用来测试功能、性能等。
4、代码块
花括号里面括起来的区域,可以包含表达式还有语句啥的,可以层层嵌套,大肠包小肠。有全域代码块(没有父级代码块)有自定义代码块、有语句代码块(判断循环流程)当然还有空代码块。
5、程序实体
变量、常量、函数、结构体、接口统称,需要先声明在使用,这个go语言要记住,声明很重要,引用其他代码包的实体要先导入(只能引用其他代码包中公开的程序实体),程序实体的访问权限,名称首字母大写的程序实体就是公开的,小写的就是私有的。
6、Go基础
和学习其他语言一样开始了,从内置类型、函数、接口开始,学习命令、运算符、变量、常量、数组等等。
7、常用web框架
beego、gin、lris、echo等
8、运行一个hello world!
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置 fmt 工具
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
在src建一个hello目录,创建一个main.go的文件,执行go build,就会编译得到一个可执行的文件,例如在windows下会找到一个hello.exe的文件,执行这个文件就会打印出第一个使用go运行的hello world!
9、最后贴一个学习路线图,明天接着学,祝学习顺利!