go语言特点
1、背靠大厂,可靠
2、天生支持并发
3、语法简单,容易上手
4、内置runtime,支持垃圾回收
5、可直接编译成机器码,不依赖其他库
6、丰富的标准库
7、跨平台编译
go语言的应用领域
1、服务器编程
2、开发云平台
3、区块链
4、分布式系统
5、网络编程
使用go语言的公司
谷歌、facebook、腾讯、百度、京东、小米、360
go语言开发环境搭建
go下载地址All releases - The Go Programming Language (google.cn)
本地目录 D:\go
go语言版本 下载后已经自动配置好了环境变量
配置go环境
set GO111MODULE="on"
#表示go11.1之后都使用模块化管理
set GOPROXY="http://goproxy.cn"
#设置代理路径,方便以后下包
使用vscode开发go应用
第一个hello world程序
package main
import "fmt"
func main() {
fmt.Println("hello go")
}
可用命令
go run main.go 直接运行main.go文件,注意一定要在当前目录下
1、bulid:编译包和依赖 go build main.go 会生成一个main.exe可执行文件
2、clean:移除对象文件
3、doc:显示包或者符号的文档
4、env:打印go的环境信息
5、bug:启动错误报告
6、get:下载并安装包和依赖
go get之前要首先 go mod init study,然后再go get github.com/go-sql-driver/mysql
成功执行之后就会生成一个go.mod文件
但是出现了错误
go: module github.com/go-sql-driver/mysql: Get "https://proxy.golang.org/github.com/go-sql-driver/mysql/@v/list": dial tcp 172.217.160.113:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
这个错误表明你的 Go 模块系统在尝试获取 github.com/go-sql-driver/mysql
模块的版本列表时遇到了连接问题。这通常是由网络问题或防火墙配置引起的
解决办法:
更改代理
go env -w GOPROXY=https://goproxy.io,direct
go.mod文件
快捷键
crtl+shift+k 删除行
crtl+e 查找文件
crtl+shift+p 命令行设置和更新
快速生成代码片段
pkgm main包+main主函数
ff fmt.Printf("",var)
fp fmt.Println("")
for for i:=0;i<count;i++
forr for_,v:=range v{}
fmain func main() {}
a.print! fmt.Printf("a:%v\n",a)
代码组织
go应用包和模块来组织代码,包对应到文件系统就是文件夹,模块就是.go的go源文件。一个包中会有很多个模块或者多个子包
go项目管理工具
golang1.11之后使用gomod管理项目。
gomod
实现步骤:
1、创建项目
2、初始化项目
3、创建包
4、创建模块
5、相互调用