简介:
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。[1]
开发者:
- 罗伯特·格瑞史莫(Robert Griesemer)
- 参与 V8 JavaScript 引擎和 Java HotSpot 虚拟机的研发
- 罗布·派克(Rob Pike)
- 开发Unix
- UTF-8发明者之一
- 妻子 Renee French设计吉祥物金花鼠 Gordon
- 肯·汤普逊(Ken Thompson)
- 设计B语言
- 设计C语言
- 重写Unix
开发工具
- visual studio code, Microsoft产品(简称VSCode):一个运行于Mac Os、Windows和Linux 之上的,默认提供Go语言的语法高亮,安装Go语言插件,还可以支持智能提示,编译运行等功能。【推荐】
- Sublime Text,可以免费使用,默认也支持Go代码语法高亮,只是保存次数达到一定数量之后就会提示是否购买,点击取消继续用,和正式注册版本没有任何区别
- Vim: Vim是从vi发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
- Emacs : Emacs传说中的神器,她不仅仅是一个编辑器,因为功能强大,可称它为集成开发环境
- Eclipse IDE工具,开源免费,并提供GoEclipse插件
- LitelDE,LitelDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),是中国人开发的。
- JetBrains公司的产品:PhpStrom、WebStrom和PyCharm等IDE工具,都需要安装Go插件。
开发环境搭建
安装SDK
SDK全称Software Development Kit 软件开发工具包;
下载链接
安装sdk过程
-
可选历史版本
-
选择sdk
-
解压到无中文名称的目录
-
配置环境变量
-
注意环境变量“D:\Path\golang_sdk\go\bin”有【bin】
测试配置
打开命令行输入go version
第一个go程序
go项目标准目录(文件夹)结构
创建go文件
源代码【对比c】
package main //包名,后续解释
import "fmt" //导入库,类似于include
func main() { //主函数
fmt.Println("Hello, world")
}
编译运行
运行流程
基本语法【对比c】
(1)
源文件以"go"为扩展名。【对比c:c为扩展名】
(2)
程序的执行入口是main()函数。
(3)
严格区分大小写。
(4)
每个语句后不需要分号(Go语言会在每行后自动加分号)【对比c:一般都要加】
- 遇到有逗号时选择放逗号在上一行,表示语句尚未结束,则不自动增加分号
- 函数花括号的开始必须放在上面,函数花括号的结束必须另起一行【对比c:自由选择】
func main() {
fmt.Println("Hello, world",
"heello")
}
(5)
Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错【对比c:有分号间隔,所以能写在同一行】
(6)
定义的变量或者import的包如果没有使用到,代码不能编译通过。【对比c:可存在未使用变量】
(7)
注释:
- 行注释 // VSCode快捷键:ctrl+/ 再按一次取消注释
- 块注释(多行注释) /**/ VSCode快捷键:shift+alt+a 再按一次取消注释
- 注意:块注释中不可以嵌套块注释
- 官方推荐使用行注释 //
代码风格
(1)缩进整齐
缩进快捷键(可用鼠标选择多行)
向后缩进:tab
向前取消缩进:shift+tab
(2)运算符两边加空白
1 + 2
(3)一行最长不建议超过80个字符
API文档
Go语言提供了大量的标准库,因此 google 公司也为这些标准库提供了相应的API文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法。官方位置:https://golang.org
Golang中文网在线标准库文档: https://studygolang.com/pkgdoc
网络api:
自带本地api(图源网络):
参考文献
[1] 百度百科.go[EB/OL].[2024-04-15].https://baike.baidu.com/item/go/953521