Go入门教程

什么是Go语言?

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。可以Linux、Mac、Windows。

Go语言的用途?

  1. 服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;
  2. DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发;
  3. 网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀;
  4. Paas云平台领域:Kubernetes和Docker Swarm等;
  5. 分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
  6. 区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言;
  7. 容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的;
  8. 爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。

Go语言安装?

Go语言安装包官方下载地址:https://golang.org/dl/,如果打不开或下载太慢,换成中国区下载地址:https://golang.google.cn/dl/

注意:安装目录不可以有中文。然后配置系统环境变量,添加GOROOT,值为Go的安装目录,例如D:\Program Files\Go(安装时默认勾选安装)。然后可以在cmd里执行go version,如果出现类似输出:go version go1.19.1 windows/amd64,说明安装配置成功,接下来就可以进行开发运行Go程序了。

Go语言开发工具安装?

Go语言开发工具有:GoLand,VsCode,LiteIDE,Eclipse等。本篇介绍VsCode安装,因为VsCode使用广泛,可以开发编译多种语言。

VsCode官网地址:https://code.visualstudio.com/

点击下载VsCode稳定版即可,如果下载太慢,可以将下载链接中az764295.vo.msecnd.net替换成vscode.cdn.azure.cn,速度蹭蹭提上来。

VsCode界面改成中文显示?

在VsCode的扩展搜索框输入chinese,找到中文语言安装包,点击"install"进行安装,安装完成后点击"Change Language and Restart",VsCode重启后显示中文界面。

Vscode安装Go支持扩展:VsCode的扩展搜索框输入Go,找到Go扩展,点击"install"进行安装

VsCode编写第一个Go程序?

新建文件,选择Go语言,编写一个简单的Go程序,如下:

复制代码
package main
import "fmt"
func main() {
    fmt.Println("Hello, World!")
}

如果出现下面的错误提示,点击安装后还是报错,则需要代码,在VsCode终端输入以下两个命令:

复制代码
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.io,direct

如果提示一下提示,则在终端输入命令:go env -w GO111MODULE=auto

再次点击运行--以非调试模式运行,成功运行!

相关推荐
another heaven1 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
打工仔折腾 AI2 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
SomeOtherTime2 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
apcipot_rain3 小时前
C++转Java日记(10)
java·开发语言
初学AI的小高3 小时前
Agent 工具太多怎么办:BM25 检索、依赖补全与按需加载实战
后端·agent
用户6602676118793 小时前
AI 代码上线前的第 24 道门禁:上线失败时,怎样在 10 分钟内退回?
后端·架构
总要学点什么3 小时前
第105篇:三维特效-流动图片墙体效果——让箭头沿墙长滚,它俩竟是同一份代码
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
NishikiAsumi07213 小时前
一次170万行的导出:sql优化远没有加索引这么简单
后端
xiaoye-duck4 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型