Mac上Golang语言环境搭建

2023-05-16

文章目录

    • 官网
    • 其他参考
    • 安装golang
      • 源码安装
      • 安装包安装
      • 使用homebrew安装
    • 配置
      • GOROOT
      • GOPATH
      • GOPROXY
      • GOPRIVATE
      • GONOSUMDB
    • 安装测试

官网

目前无法在家里的直接访问golang.org网站:
https://golang.org/

不过从2018年1月22日后可以通过访问https://golang.google.cn 来访问正式官网了。可以和下载最新的golang程序最新的说明文档了
https://golang.google.cn/

官方安装文件下载地址:https://golang.google.cn/dl/

其他参考

Go语言中文网-中文社区 https://studygolang.com/
Go语言教程-菜鸟教程

安装golang

Go 语言支持以下系统:

  • Linux
  • FreeBSD
  • Mac OS X(也称为 Darwin)
  • Windows

源码安装

在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法:

1、下载二进制包:go1.4.linux-amd64.tar.gz。

2、将下载的二进制包解压至 /usr/local目录。
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz

3、将 /usr/local/go/bin 目录添加至 PATH 环境变量:
export PATH=$PATH:/usr/local/go/bin
以上只能暂时添加 PATH,关闭终端下次再登录就没有了。

我们可以编辑 ~/.bash_profile 或者 /etc/profile,并将以下命令添加该文件的末尾,这样就永久生效了:
export PATH=$PATH:/usr/local/go/bin
添加后需要执行:
source ~/.bash_profile

source /etc/profile

安装包安装

MAC 系统下你可以使用 .pkg 结尾的安装包,直接双击来完成安装,安装目录在 /usr/local/go/ 下。

使用homebrew安装

前提是Mac上已安装homebrew软件,可以参考下面的博客安装:
https://blog.csdn.net/u014163312/article/details/124769125

intel:
brew install go
或者
M1:
arch -arm64 brew install go

安装成功后,执行 go env 查看golang的环境变量,顺便可以测试是否安装成功。

配置

GOROOT

就是golang的安装路径。安装go后,自动设置GOROOT的环境变量。是用来存放go语言内建程式库的所在位置,当import内建的程式库的时候,并不需要额外安装,预先去GOROOT路径下寻找对应的程式库。

官方包安装:MacOS 对应的 GOROOT 就是/usr/local/go目录。Windows 和 Linux 也是同样的道理。
brew安装:MacOS使用安装路径在/usr/local/Cellar

GOPATH

作为 Go 语言的环境变量,相当于个人的工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。goalng的项目必须放在GOPATH路径下,才能正常执行。这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。

这个目录下有三个子目录:src、bin、pkg。
按照约定这三个目录的作用是:

src 存放项目的源码
pkg 存放编译后生成的文件
bin 存放编译后生成的可执行文件

GOPROXY

如果设置完成该变量,下载源代码时将会通过该环境变量设置的代理地址,不会直接从代码库下载。而且某些代码库所在服务器需要科学上网才可以访问。设置GOPROXY可以避免由于网络环境的原因下载不了某些代码库。

安装后,默认为:GOPROXY=“https://proxy.golang.org,direct”

通常需要修改代理,一般使用七牛代理,修改方式如下:

方法一:
go env -w GOPROXY="https://goproxy.cn,direct"

方法二:
修改 ~/.bashrc
添加:export GOPROXY=https://goproxy.cn,direct
保存。

GOPRIVATE

正常情况下是从公共镜像 goproxy.io 上下载依赖包,并且会对下载的软件包和代码库进行安全校验,所以设置环境变量 GOPRIVATE,可以对指定仓库地址,跳过 proxy server 和校验检查。
通过设置GONOPROXY和 GONOSUMDB等环境变量。 可以更灵活的控制哪些依赖软件包经过 proxy server 和 sumdb 校验,这两个环境变量的被设置后将覆盖 GOPRIVATE 环境变量。

GONOSUMDB

通过这个环境变量设置不做校验的代码仓库地址。设置完成后从该地址上下载的依赖都不需要做校验。

可以通过在 ~/.bashrc中修改环境变量,例如:

export GOPATH=$HOME/golang
export GOROOT=/usr/local/opt/go/libexec
export GOPROXY=https://goproxy.cn,direct

保存后,执行 source ~/.zshrc,或者重新打开shell,使环境变量生效。

安装测试

创建工作目录/Users/${username}/Documents/goland-projects。

first.go 文件代码:

package main

import "fmt"

func main() {
   fmt.Println("Hello, World!")
}

使用 go 命令执行以上代码输出结果如下:

...goland-projects>go run first.go
Hello, World!

环境安装好后,就可以正式进行Golang语言的编程了,祝大家早日成为一个合格的gopher!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac上Golang语言环境搭建 的相关文章

  • 使用Mac的十大最好用神器

    资深 Mac 用户 提升效率的 10 大神器 谢志鹏 大家好 我是曹将的徒弟 Pem 最近刚结束悉尼大学研究生的学习 是一枚正在求职的交互设计师 我是从 2015 年开始使用 Mac 的 如果用一句话来形容 Mac 的使用感受 那就是 令人
  • Go语言入门【09】结构体

    结构体 相比于Java 在Go语言中没有类的概念 但是多了结构体 结构体与Java中的类很像 是表示一系列同一类型或不同类型的数据构成的数据集合 例如可以将学生抽象成一个结构体 每一个学生有以下属性 Name 姓名 Age 年龄 Gende
  • 解决:xcode:Member reference base type ‘rapidjson::Document‘ (aka ‘int‘) is not a structure or union

    xcode Member reference base type rapidjson Document aka int is not a structure or union 首先尝试了 把rapidjson当作源码接进项目 放在demo的
  • 带你使用Golang快速构建出命令行应用程序

    在日常开发中 大家对命令行工具 CLI 想必特别熟悉了 如果说你不知道命令工具 那你可能是个假开发 每天都会使用大量的命令行工具 例如最常用的Git Go Docker等 不管是做技术开发还是业务开发 都会有开发命令行程序的场景 例如如果是
  • go语言基础-----03-----流程控制、函数、值传递、引用传递、defer函数

    1 流程控制 这里只讲 for range 语句 这个关键字 主要用于遍历 用来遍历数组 slice map chan 例如 package main import fmt func main str hello world 中国 for
  • go 进阶 go-zero相关: 七. 拦截器与熔断拦截器

    目录 一 拦截器的基础使用 1 服务端拦截器 2 客户端拦截器 二 拦截器底层底层执行原理 三 go zero默认添加的拦截器 客户端 1 熔断器拦截器 BreakerInterceptor 服务端 一 拦截器的基础使用 在go zero
  • Downie 4 4.6.12 MAC上最好的一款视频下载工具

    Downie for Mac 简介 Downie是Mac下一个简单的下载管理器 可以让您快速将不同的视频网站上的视频下载并保存到电脑磁盘里然后使用您的默认媒体播放器观看它们 Downie 4 Downie 4 for Mac Downie
  • Go中 Redis Client的使用

    文章目录 常见操作 List 操作 Pipeline 使用 在 Go 语言中使用 Redis 时 可以使用第三方库实现 Redis Client 的封装 本文介绍如何使用 Go 语言的 redisClient 去连接 Redis 服务器 并
  • 探索创意无限的Photoshop CC 2020Mac/Win版

    作为一款功能强大的图像处理软件 Photoshop CC 2020 简称PS 2020 在全球范围内备受设计师 摄影师和艺术家的喜爱和推崇 它不仅为用户提供了丰富多样的工具和功能 还不断推出新的创意特效和改进的功能 让用户的创意无限延展 首
  • Go 语言输出文本函数详解

    Go语言拥有三个用于输出文本的函数 Print Println Printf Print 函数以其默认格式打印其参数 示例 打印 i 和 j 的值 package main import fmt func main var i j stri
  • 基于Go语言实现简易Web应用

    目录 前言 Go语言特点 写在使用Go语言实现Web应用前面 创建Web服务器 声明一个结构体操作 加入中间件的使用 使用静态文件服务器 最后 前言 在编程语言中 近几年问世的几个新语言都是非常不错的 比如Go Python Rust等等
  • 掌握 Go 语言中的循环结构:从基础到高级

    一 if else 分支结构 1 if 条件判断基本写法 package main import fmt func main score 65 if score gt 90 fmt Println A else if score gt 75
  • go-zero开发入门之网关往rpc服务传递数据2

    go zero 的网关服务实际是个 go zero 的 API 服务 也就是一个 http 服务 或者说 rest 服务 http 转 grpc 使用了开源的 grpcurl 库 当网关需要往 rpc 服务传递额外的数据 比如鉴权数据的时候
  • go-zero 的 etcd 配置

    实现代码在 core discov config go 文件中 type EtcdConf struct Hosts string Key string ID int64 json optional User string json opt
  • 【go语言】error错误机制及自定义错误返回类型

    简介 Go 语言通过内置的 error 接口来处理错误 该接口定义如下 type error interface Error string 这意味着任何实现了 Error 方法的类型都可以作为错误类型 在 Go 中 通常使用 errors
  • Golang拼接字符串性能对比

    g o l a n g golang g o l an g
  • golang 生成一年的周数

    GetWeekTimeCycleForGBT74082005 获取星期周期 中华人民共和国国家标准 GB T 7408 2005 参数 year 年份 GB T 7408 2005 func GetWeekTimeCycleForGBT74
  • go cannot find package “github.com/gorilla/websocket“解读

    Go无法找到包 github com gorilla websocket 的解决方案 在Go开发过程中 我们经常会依赖第三方库来简化开发工作 而使用 go get 命令安装这些库时 有时候我们可能会遇到类似于以下错误的情况 plaintex
  • Go、Docker、云原生学习笔记全攻略:从零开始,一步步走向精通!(2024版)

    第一章 Go语言学习宝典 一 介绍 01 Go 语言的前生今世 二 开发环境搭建 01 Go 语言开发环境搭建 三 初识GO语言 01 Go 多版本管理工具 02 第一个 Go 程序 hello world 与 main 函数 03 Go
  • 【go语言】AST抽象语法树详解&实践之扫描代码生成错误码文档

    背景 为了能识别出代码中抛出错误码的地址和具体的错误码值 再根据错误码文件获取到错误码的具体值和注释 方便后续的排错 这里使用AST进行语法分析获取到代码中的目标对象 一 编译过程 在开始解析代码之前先补充了解一下编译过程 编译过程是将高级

随机推荐