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

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

相关推荐
belldeep3 小时前
如何阅读、学习 Tcc (Tiny C Compiler) 源代码?如何解析 Tcc 源代码?
c语言·开发语言
LuckyTHP3 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
热河暖男3 小时前
【实战解决方案】Spring Boot+Redisson构建高并发Excel导出服务,彻底解决系统阻塞难题
spring boot·后端·excel
Blossom.1185 小时前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算
da-peng-song6 小时前
ArcGIS Desktop使用入门(二)常用工具条——数据框工具(旋转视图)
开发语言·javascript·arcgis
galaxy_strive6 小时前
qtc++ qdebug日志生成
开发语言·c++·qt
TNTLWT6 小时前
Qt功能区:简介与安装
开发语言·qt
noravinsc7 小时前
redis是内存级缓存吗
后端·python·django
等等5437 小时前
Java EE初阶——wait 和 notify
java·开发语言
低代码布道师7 小时前
第五部分:第一节 - Node.js 简介与环境:让 JavaScript 走进厨房
开发语言·javascript·node.js