当前位置:网站首页>初识GO语言
初识GO语言
2022-06-12 16:43:00 【二进制杯莫停】
1 Go语言介绍
1.1 Go语言优势
- 可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。
- 静态类型语言,但是有动态语言的感觉,静态罗列行的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。
- 语言层面支持并发,这个就是Go语言的最大的特色,天生的支持并发。Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。
- 内置runtime,支持垃圾回收,这属于动态语言的特性之一。虽然目前来说GC不算完美,但是足以应对我们所能遇到的大多数情况,特别是1.1之后的GC。
- 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数在其他语言见过的特性;继承、重载、对象等。
- 丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大。
- 内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此简单,代码格式一模一样,想不一样都很困难。
- 跨平台编译,如果你写的Go代码不包含cgo,那么久可以做到window系统编译linux的应用,Go引用了plan9的代码,这就是不依赖系统的信息。
- 内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。
1.2 Go适合做什么
- 服务器编程,以前你如果使用C或者C++做的事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
- 分布式系统,数据库代理器等。
- 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。
- 内存数据库,如google开发的groupcache,couchbase部分组件。
- 云平台,目前国外很多云平台在采用go开发,CloudFoundy的部分组件,钱VMware的技术总监自己出来搞得apcera云平台
2 Go语言环境安装
2.1 环境安装
打开官网下载:Golang官网
选择合适的版本进行安装:
安装完成后,在shell中验证
$ go version
go version go1.18.3 darwin/amd64
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/xxx/Library/Caches/go-build"
GOENV="/Users/xxx/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="xxx"
GOINSECURE=""
2.2 Go语言环境测试
2.2.1 学习资料
Go语言官网:https://golang.google.cn/
Go中文社区:https://studygolang.com/
Go中文在线文档:https://studygolang.com/pkgdoc
2.2.2 hello world
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
- 声明一个主包(包是一种对功能进行分组的方式,它由同一目录中的所有文件组成)。
- 导入流行的 fmt 包,其中包含格式化文本的功能,包括打印到控制台。 这个包是你安装 Go 时获得的标准库包之一。
- 实现一个主函数以将消息打印到控制台。 运行 main 包时,默认情况下会执行 main 函数。
运行代码:
$ go run .
Hello, World!
go run 命令是您用来完成 Go 任务的众多 go 命令之一。 使用以下命令获取其他人的列表:
$ go help

边栏推荐
- 并发包和AQS
- 890. find and replace mode / Sword finger offer II 080 Combination with k elements
- IDEA在控制台显示出services,统一管理所有的jetty服务,
- 修改自己电脑连接的路由器的配置网址192.168.1.1
- [Hunan University] information sharing of the first and second postgraduate entrance examinations
- 武汉大学甘菲课题组和南昌大学徐振江课题组联合招聘启事
- ISCC-2022 部分wp
- Uniapp壁纸小程序源码/双端微信抖音小程序源码
- [BSP video tutorial] BSP video tutorial issue 17: single chip microcomputer bootloader topic, startup, jump configuration and various usage of debugging and downloading (2022-06-10)
- Servlet API
猜你喜欢

Canvas advanced functions (Part 2)

JVM memory model and local memory

Leetcode 2190. 数组中紧跟 key 之后出现最频繁的数字(可以,一次过)

How to play the map with key as assertion

The C programming language (version 2) notes / 8 UNIX system interface / 8.7 instance (storage allocator)

博士申请 | 新加坡国立大学Xinchao Wang老师招收图神经网络方向博士/博后

Recommend AI intelligent drawing repair software

使用ubantu时,遇见的一些小毛病和解决方法

有哪些特容易考上的院校?

Google browser debugging skills
随机推荐
Anfulai embedded weekly report no. 268: May 30, 2022 to June 5, 2022
How to do a good job of testing in the company (do a good job of testing)
Canvas advanced functions (Part 2)
Swin transformer code explanation
Probation period and overtime compensation -- knowledge before and after entering the factory labor law
从50亿图文中提取中文跨模态新基准Zero,奇虎360全新预训练框架超越多项SOTA
Play kubernetes every 5 minutes summary
How to base on CCS_ V11 new tms320f28035 project
(五)输出和输出
收藏 | 22个短视频学习Adobe Illustrator论文图形编辑和排版
CVPR 2022 | 元学习在图像回归任务的表现
Token and idempotency
【树莓派】:(四)Camera 进阶
ISCC-2022 部分wp
男神女神投票源码 v5.5.21 投票源码
Anyone who watches "Meng Hua Lu" should try this Tiktok effect
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
RMI, JNDI, LDAP introduction +log4j vulnerability analysis
JVM内存模型与本地内存
MySQL interview arrangement