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
相关推荐
bearpping34 分钟前
SpringBoot最佳实践之 - 使用AOP记录操作日志
java·spring boot·后端
wheelmouse778836 分钟前
网络排查基础与实战指南:Ping 与 Telnet
开发语言·网络·php
一叶飘零_sweeeet36 分钟前
线上故障零扩散:全链路监控、智能告警与应急响应 SOP 完整落地指南
java·后端·spring
敲代码的嘎仔1 小时前
Java后端开发——真实面试汇总(持续更新)
java·开发语言·程序人生·面试·职场和发展·八股
迈巴赫车主1 小时前
蓝桥杯20560逃离高塔
java·开发语言·数据结构·算法·职场和发展·蓝桥杯
春日见2 小时前
E2E自驾规控30讲:导论
开发语言·驱动开发·git·matlab·计算机外设
wangchunting2 小时前
Jvm-垃圾收集器
java·开发语言·jvm
开心就好20252 小时前
不同阶段的 iOS 应用混淆工具怎么组合使用,源码混淆、IPA混淆
后端·ios
沐知全栈开发2 小时前
PHP Math: 精通PHP中的数学函数与应用
开发语言
架构师沉默2 小时前
程序员如何避免猝死?
java·后端·架构