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
相关推荐
小鹿软件办公17 小时前
倒计时开启:Chromium 宣布几周内将全面切断 MV2 扩展支持
开发语言·javascript·ublock origin
摇滚侠17 小时前
SpringMVC 入门到实战 HttpMessageConverter 65-74
java·后端·spring·intellij-idea
codecrafter12317 小时前
sh:在 Python 里直接调系统命令
开发语言·python·其他
Luminous.17 小时前
C语言--day29
c语言·开发语言
逢君学术论文AI写作17 小时前
Java第24课:会话技术CookieSession
java·开发语言
小小编程路17 小时前
字符串转数字时,可能会遇到哪些问题?
java·开发语言·算法
许彰午17 小时前
责任链模式实战——同一个框架里的两种链
java·开发语言·责任链模式
寻道码路18 小时前
LangChain4j Java AI 应用开发实战(十四):手写 RAG 全流程 - 深入理解每个环节
java·开发语言·人工智能·ai
Csvn18 小时前
用户与权限管理 — 从创建到精细化管控
后端
金銀銅鐵18 小时前
用 Tkinter 实现简单的论语第一章阅读器
后端·python