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

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

相关推荐
花涧鹤2 分钟前
学完循环我才发现,我写的不是死循环,是死机
后端
释厄6234 分钟前
错误无误公理——错误正确本同源都迭代定律——逆转有价值
android·开发语言·kotlin
2601_9628857215 分钟前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
打工仔折腾 AI17 分钟前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战
汉堡大王952733 分钟前
单次输出拉到100万Token:拆完 Gemini 4 Argon 的续写协议,才看懂谷歌这7个月在憋什么
前端·人工智能·后端
临床数据科学和人工智能兴趣组1 小时前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
蜗牛互联网1 小时前
Python调用Gemini Structured Outputs实现工单路由门禁
java·开发语言·人工智能·python
SEO_juper1 小时前
给网页做可引用性评分:判断内容够不够让 AI 引用(GEO 工具,附代码)
开发语言·人工智能·爬虫·python·seo·独立站
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 产品定位、功能模块与客户端原型解读
java·开发语言·交友