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

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

相关推荐
一方热衷.6 小时前
YOLO26-Seg ONNXruntime C++/python推理
开发语言·c++·python
靓仔建7 小时前
Vue3导入组件出错does not provide an export named ‘user_setting‘ (at index.vue:180:10)
开发语言·前端·typescript
凤山老林7 小时前
SpringBoot 使用 H2 文本数据库构建轻量级应用
java·数据库·spring boot·后端
清汤饺子8 小时前
用 Cursor 半年了,效率还是没提升?是因为你没用对这 7 个功能
前端·后端·cursor
雨夜之寂8 小时前
Browser Use + DeepSeek,我踩了哪些坑
后端·面试
wefly20178 小时前
开发者效率神器!jsontop.cn一站式工具集,覆盖开发全流程高频需求
前端·后端·python·django·flask·前端开发工具·后端开发工具
赶路人儿8 小时前
UTC时间和时间戳介绍
java·开发语言
dreamread8 小时前
【SpringBoot整合系列】SpringBoot3.x整合Swagger
java·spring boot·后端
6+h8 小时前
【java】基本数据类型与包装类:拆箱装箱机制
java·开发语言·python
把你毕设抢过来8 小时前
基于Spring Boot的社区智慧养老监护管理平台(源码+文档)
数据库·spring boot·后端