本文档参考golang官方文档以及一些教程书籍,若文档有错误,欢迎issue 🤗
- https://go.dev/doc/tutorial/
- 参考书籍《Go语言开发实战》
Go语言是Google公司发布的一种静态型、编译型的开源编程语言,是新时代的C语言
。Go语言已经成为云计算时代的重要基础编程语言。
2012年3月28日,Go发布第一个正式的稳定版本。
2. Go语言的特性
自由高校
- 编译效率优于 java C++
- 运行效率接近 C
- 开发效率接近 PHP
- Go语言支持所有编程范式:过程式编程,面向对象编程,面向接口编程,函数式编程
强大的标准库
- 标准库涵盖 网络 系统 加密编码 图形。
- 网络和系统的库非常实用,几乎不需要依赖第三方库
部署方便
- Go语言不使用虚拟机, Go语言的代码可以直接输出为 目标平台的二进制可执行文件。
- Go语言拥有自己的链接器,不依赖任何系统提供的编译器和链接器。
- 编译出来的二进制可执行文件几乎可以运行在任何平台上
原生支持并发
- Go语言的并发基于 Go routine
- Go routine 类似于线程,但是并非线程。是Go面向线程的轻量级方法。
- 创建 Go routine的成本很低,只需要几千个字节的额外内存。
- Go routine 之间可以通过channel实现通信,基于channel的并发方法可以最大限度地使用CPU资源。
稳定性强
- Go有编译检查,严格的编码规范,强稳定性。
- Go 提供了软件生命周期(开发,测试,部署,维护)的各个环节工具。go tool、 go fmt, go test。
垃圾回收
-
Go语言内置runtime来自动进行管理
🐛目前来说,GC并不完美,但是足以应付开发者遇到的大多数情况,Go语言允许开发者对词项工作进行优化。
3. Go使用范围
- Go语言可以代替C 或者 C++做一些系统编程,如:日志处理,数据打包,虚拟机处理,文件系统。
- 网络编程方面,包括Web应用,API应用,下载应用。
- 知名开源项目:分布式系统中的Etcd, google的Groupcache数据库组件,云平台中的Docker和Kubernets,区块链中的Ethereum和Hyperledger.
4. Go语言的编码规范
Go语言的结构组成, 以下面的结构为例:
package main // 定义了包名
import "fmt" //导入依赖包, fmt包实现了格式话输入输出
func main(){ // 程序入口
fmt.printIn("Hello")
}
每一个Go应用程序都需要包含一个名为main的包,并且该包包含一个main()
的函数,该函数是 go可执行程序的入口函数,即不能带有参数,也不能带有返回值。
⚠️需要注意的点:
- 只有package名为main的包可以包含
main()
函数 - 一个可执行程序有且只有一个
main()
函数 - 通过import关键子来导入其他非
main()
包 - import关键字可以单个导入,也可以多个导入
在Go语言中,换行代表一个语句结束,Go语言不需要像java一样以分号结尾。
如果多个语句写在同一行,这些语句必须使用分号隔开,实际开发中不鼓励这样做
5. Go的标识符
标识符号分为:
- 预定义标识符,系统已经定义好的一些系统实体名称,比如 nil代表空
- 自定义标识符,指用户给变量,类型,函数等程序实体起名字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qtjXbjuO-1665143573703)(…/.image/image-20220925184820689.png)]
-
类型之后的数字代表bit的位数。如
int16
代表 这个类型占16个bit, 共2字节。 -
uint 标识 unsinged int 代表无符号整数
-
布尔类型无法参与数值运算,也无法与其他类型进行转换。
标识符可见性规则:Go语言中,使用大小写来决定标识符是否可以被外部包所调用。
- 如果标识符以一个大写字母开头,那么这个标识符代表的对象对外部包是可见的。
- 如果标识符以小写字母开头,则对外部包是不可见的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xy4MvDbc-1665143573704)(…/.image/image-20220925185224349.png)]
6. 补充
GoLand快捷键
快捷键 | 说明 |
---|---|
Ctrl + J | 快速提示 |
Ctrl + Shift + ↑ ↓ | 上下移动行的内容 |
Alt + ← → | 文件编辑窗口切换 |
Alt + ↑ ↓ | 光标在相邻函数跳转 |
Ctrl + D | 向下复制行内容 |
Ctrl + Y | 删除当前行 |
Ctrl + Alt + L | 格式化代码 |
Go环境配置的相关变量文章来源:https://www.toymoban.com/news/detail-458065.html
- GOROOT: Go的安装路径
- GOPATH: Go的工程路径, 工程目录 用来存放开发者的代码,该环境变量被指定之后,编译源代码所生成的文件都会放到此目录下。GOPATH主要有三个目录:
- bin: 存放可执行文件
- pkg: 存放编译好的库文件
- src: 存放go的源代码。
通过 go env
查看go语言环境配置文章来源地址https://www.toymoban.com/news/detail-458065.html
到了这里,关于Go语言基础(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!