1 2009年11月正式对外公开的一门编程语言(新语言) 2 国内go使用频率比较高,并且是上升趋势 3 静态强类型语言(编译型,不同类型之间是否可以直接运算) -python是动态强类型 4 Go语言特性 -跨平台的 编译型 语言 -部署简单 -速度快(比java占用内存小) 5 发展史 2009年11月7日 2015年8月19日 go1.5 实现自举 1.10后,包管理变得更好 go 1.14— — 现在 Go Module 已经可以用于生产环境 2.0要加入泛型(暂时没有) 6 Go语言应用 知名互联网都在用 7 Go语言项目 docker,k8s,go跟区块链没有必然联系(第一款开源区块链使用go编写) 8 go适合做什么 特别适合高并发的服务端开发 自动化运维 爬虫少一些
云平台
9 go的sdk(开发工具包,只在开发阶段用) 1.16
ide:集成开发环境 goland,vscode,txt
10 IDE:集成开发工具(goland,vscode)
-建议goland(注册码,破解方式完全一样)
11 go语言支持交叉编译(这个平台编译成另外一个平台的可执行文件)
注意:用英文版本的!!!
点击进去下载.exe文件
双击.exe文件,选择好要存放的路径,一路下一步安装即可。
2. 在搜索栏搜索goland,右键打开文件位置,把goland图标快捷键添加到桌面上,方便双击运行
第一次打开出现此页面
三、go语言SDK
安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。
双击go1.15.6.windows-amd64.msi文件(windows上多的安装,注意选好安装的电脑系统),一路下一步安装,注意安装位置的选择
四、创建项目
添加好用户和系统环境变量后,系统会自动扫描出SDK
五、注意
#注意事项(重点) -goland创建项目,选择go的安装路径(默认选中了) -gopath:所有的go代码必须放在这个路径下的src文件夹下,否则无法执行,默认创建到用户家目录下的go文件夹(mac,windows,linux) -创建项目路径,go文件都不要出现中文 #环境变量 1.一般情况下 如果先安装了Golang解释器,再装GoLand,Goland是会自动添加的 2.非一般情况 需要手动添加
# 必须记住的 go env # go的环境变量 -GO111MODULE=空的,现在没有使用MODULE模式
-GO111MODULE :go 1.11以后,包管理使用go module -GOPATH=C:\Users\goproject\go #代码存放路径 在不使用go module之前,所有项目,源代码必须放在该路径下的src下,不然找不到 -GOROOT=C:\go # go sdk安装路径
-区别:GOROOT是go sdk的安装路径,GOPATH是源码的存放路径,项目要运行,这两个路径必须对。下载下来的第三方模块是存放在GOPATH中的
go build # 编译成可执行文件。编译型语言,需要先编译再执行,编译成可执行文件,执行可执行文件 比如:go build a.go会生成a.exe文件,然后a.exe就会执行 go run # 编译并执行,开发阶段用,两步并作一步 比如:go run a.go # 其他不太需要记得 go get # 下载并安装包和依赖等同于pip install 获取第三方模块
-go get github.com/astaxie/beego
go version #显示go的版本 go fmt #运行gofmt进行格式化代码(go fmt :自动将代码格式)
-go没有一个集中的版本管理仓库(大家约定俗称把它放到github上)
七、打印出第一个hello world
提前创建一个.go文件 ----->项目跑不起来,一般原因就是环境变量和路径问题,导致项目无法运行
1.注释
//go语言的注释 //单行注释 /* 多行注释 多行注释 */
2.编写第一个hello world
注意:"hello world" 要用双引号
// 重点 //go(所有编译型语言)项目要运行,必须有一个入口 //go的入口是main包下的main函数 //导入的包,必须使用,如果不使用,编译不通过,会报错 // main包下可不可以有多个main函数:不可以 package main //声明包名,包名是main,每一个go文件都属于某个包 import "fmt" //导入包,内置包 func main() { //func 是声明函数(python中是def ) mian()是 定义了一个main函数,整个项目的入口,大括号包裹是函数体的内容 fmt.Println("hello world") //打印函数等同与print(),调用fmt包下的Println函数,执行打印,必须用双引号 ;分号代表一行结束 }
3. go文件执行的方式
方式一:
// 编译 go build s1.go // 执行 s1.exe
方式二:
// 编译并执行 go run s1.go // 在goland中,右键,运行即可
方式三: