go入门 - day1 - 环境搭建

0. 介绍

  1. go语言可以做什么?
    a. 区块链
    b. 分布式/微服务/云原生
    c. 服务器/游戏软件
  2. go的优势
    a. 代码量比C++和Java少
    b. 编译速度比Java或者C++快上5到6倍,比Scale块10被
    c. 性能比C++慢20%,但是比Java、python等快上5到10倍
    d. 内存管理和C++媲美,是Java的1/5左右
    e. 唯一的缺点就是go语言的文件体积比较大,因为每一个文件都包含了runtime

1. 安装

  1. windows直接下载,然后傻瓜式的安装。下载地址: https://studygolang.com/dl

2. 环境变量设置

  1. 设置系统环境变量,设置GOPATHGOROOT两个系统环境变量。

    • GOPATH: go的安装路径
    • GOROOT:go的依赖包($GOPATH/pkg),项目发布的包($GOPATH/bin),缓存($GOPATH/cache)所在的路径
  2. 相关命令:

    (1) 设置环境变量go env -w。或者直接在系统环境变量中设置就行了

    (2) 查看环境变量 go env ,如果发现上面的路径不是自己想要的,可以通过go env -w设置,这个其实就是在
    C:\Users\curUser\AppData\Roaming\go这个路径下创建一个env文件,里面会写上环境变量

  3. 一些重要的路径配置

shell 复制代码
set GOROOT=F:\software\go  # go的安装目录
set GOPATH=F:\\data\\go	   # go的依赖目录,在1.16之后,已经由module管理了,类似于maven仓库
set GOPROXY=https://proxy.golang.org,direct 			# 下载依赖的代理,类似于maven的镜像
set GOCACHE=C:\Users\Zekun Fu\AppData\Local\go-build    # go缓存的路径
set GOMODCACHE=F:\\data\\go\\pkg\\mod			        # go模块的缓存路径,一般在$GOPATH下创建的文件夹

3. IDE配置

如果使用vscode进行搭建的,看下面的文章就行了

  1. vscode搭建环境教程:https://learn.microsoft.com/zh-cn/azure/developer/go/configure-visual-studio-code,主要两步
    (1)安装go插件

(2)ctrl + shift + P->输入go tool->选择全部->安装go调试工具 ,网速不好,可能需要开代理

  1. idea配置也比较简单,主要是两步
    (1)安装go插件

(2)配置项目的GOPATHGOROOTGOPROXY等信息,另外重点是将下面的内容选上,也就是启动11的模块化管理,这样项目就不用定死在$GOPATH/src目录下,可以放在任意位置,只要有go.mod就可以进行项目的生命周期管理了

4. hello world

  1. go mod init demo
  2. 创建文件 hello.go
  3. 编写代码
go 复制代码
package main

import "fmt"

func main() {
	fmt.Println("Hello, world!")
}
  1. 运行 go run hello.go
相关推荐
Ulyanov21 分钟前
Python实现6-DOF刚体仿真器(下)——环境扰动与控制闭环
开发语言·python·算法·系统仿真·雷达电子对抗·导引头
分布式存储与RustFS25 分钟前
RustFS Beta.10 性能解读:PUT 全面反超 MinIO,Rust 重写对象存储成了?
开发语言·后端·rust
Reart34 分钟前
Leetcode 309.买卖股票的最佳时期含冷冻期(你也想成为股票高手吗o〃ω〃o,718)
后端
小小的木头人40 分钟前
Python 批量解析 Excel 经纬度,调用高德地图 API 获取中文地址
开发语言·python·excel
Reart1 小时前
Leetcode 188.买卖股票的最佳时机4(718)
后端·算法
Reart1 小时前
Leetcode 123.买卖股票的最佳时期3(内有随心谈,718)
后端·算法
只与明月听1 小时前
LangChain 学习-掌握LangChain Core API
前端·人工智能·后端
nzz_1712142 小时前
PHP程序员转型AI岗位指南:核心技能、北京就业市场与转型路径分析
开发语言·人工智能·php
无相求码2 小时前
数组越界为什么有时候不崩溃?VS2013 下栈上变量的幽灵布局解密
c语言·后端
Risehuxyc2 小时前
C# 将doc转换为docx
开发语言·c#·xhtml