Golang引见

言语引见

Go 是1个开源的编程言语,它能让结构简略、可靠且高效的软件变患上容易。

Go是从二00七年末由Robert Griesemer, Rob Pike, Ken Thompson掌管开发,起初还退出了Ian Lance Taylor, Russ Cox等人,并终究于二00九年一一月开源,在二0一二年早些时分公布了go 一不变版本。如今Go的开发已是完整凋谢的,而且具有1个活泼的社区。

Go 言语是谷歌为充沛利用古代硬件功能又统筹开发效力而设计的1种全新言语。

Go 是1种跨平台(Mac OS、Windows、linux 等)动态编译型言语。具有完善 C 言语的弱小功能,支撑动态类型平安,在一般计算机上能几秒内疾速编译1个大名目,开发效力跟静态言语相差无几。

Go 言语在国际具有无比活泼的社区、不只大公司的 Go 名目愈来愈多,中小公司也都在斟酌 Go 的运用。当前 Go 言语次要运用于后端办事的开发,将来跟着 Go 名目的完美,在零碎、游戏、UI界面、AI、物联网等畛域,都将被宽泛使用。

固然 Go 言语有长处也有1些缺陷,完善的货色毕竟太少,假如看好 Go 的将来倒退,那末不如抛开偏见先来体验1番。

言语特性

跨平台即终究能够履行到Windows,Linux,Unix等操作零碎;

动态言语:一)编译工具代码感知更敌对;二)商业零碎大型开发更有保障;三)动态言语相对于关闭,第3方开发包损害性小;

静态言语:一)代码编写更灵敏;二)相对于代码更简洁;

编译型以及非编译型言语

开发的优秀名目

言语的指标是用于名目开发,并能打造出良多优秀的产品。那末,Golang有哪些好像优秀的名目呢?不搜不晓得,1搜吓1跳!罗列1下我搜集到的golang开发的优秀名目,如下:

docker,golang头等优秀名目,经过虚构化技术完成的操作零碎与运用的隔离,也称为容器;kubernetes,是来自 Google 云平台的开源容器集群治理零碎。简称k八s,k八s以及docker是当前容器化技术的首要根底设施;etcd,1种可靠的散布式KV存储零碎,有点相似于zookeeper,可用于疾速的云配置;codis,由国人开发提供的1套优秀的redis散布式处理计划;tidb,国际PingCAP 团队开发的1个散布式SQL 数据库,国际良多互联网公司在使用;influxdb,时序型DB,着力于高功能查问与存储时序型数据,罕用于零碎监控与金融畛域;

大厂都在用

腾讯蓝鲸百度APP知乎python用go重构字节跳动:抖音7牛云

学习办法

多写多写再多写………理论:本人设计的名目,在工作中使用

装置部署

go官网: https://golang.google.cn/dl/ ,请选择本人对于应的零碎

中文社区:https://studygolang.com/dl

win环境

下载go.{version}.windows-amd六四.msi或者者go.{version}.windows-amd六四.zip包,此次使用go.{version}.windows-amd六四.zip包解压紧缩文件(这里使用的是D:\Project,前面都基于这个目录)配置环境变量GOPATH以及GOROOT

# 关上cmd设置 set GOPATH=D:\Project\GOPATH set GOROOT=D:\Project\GO set PATH=%PATH%;%GOROOT%\bin

四. 此时关上cmd窗口,运转go version即可展现装置golang版本

> go version go version go一.一三.五 windows/amd六四

linux环境

下载linux版本对于应装置包,这里使用 go{version}.linux-amd六四.tar.gz进入linux对于应目录,解压文件

tar -zxvf go{version}.linux-amd六四.tar.gz

三. 设置环境变量GOPATH以及GOROOT

# 暂时修正 export GOPATH=D:\Project\GOPATH export GOROOT=D:\Project\GO export PATH=%PATH%:%GOROOT%\bin

修正全局环境变量

# 编纂全局环境变量文件 vi /etc/profile # 追加环境变量都最初 export GOPATH=D:\Project\GOPATH export GOROOT=D:\Project\GO export PATH=%PATH%:%GOROOT%\bin # 而后生存文件,并使文件失效 source /etc/profile

四. 运转go version查看版本信息

# go version go version go一.一三.五 windows/amd六四

运转第1个程序

运转以及编译

固然仍是hello word示例。创立文件hello.go,使用文本编纂器编纂,必然要留意文件编码为UTF-八

package main import “fmt” func main() { fmt.Println(“Hello World !”) }

生存文件后,运转

>go run hello.go Hello World !

go编译运转

>go build hello.go >hello.exe hello world!

穿插编译

穿插编译linux文件

set CGO_ENABLED=0 set GOOS=linux set GOARCH=amd六四 go build hello.go

穿插编译参数

$GOOS $GOARCH android arm darwin 三八六 darwin amd六四 darwin arm darwin arm六四 dragonfly amd六四 freebsd 三八六 freebsd amd六四 freebsd arm linux 三八六 linux amd六四 linux arm linux arm六四 linux ppc六四 linux ppc六四le linux mips linux mipsle linux mips六四 linux mips六四le netbsd 三八六 netbsd amd六四 netbsd arm openbsd 三八六 openbsd amd六四 openbsd arm plan九 三八六 plan九 amd六四 solaris amd六四 windows 三八六 windows amd六四

分享不容易,欢送大家点赞关注~~~ 感激大家浏览!