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语言环境搭建 的相关文章

  • 【MACOS(M1)编译Risc-v版OpenOCD】

    MACOS编译Risc v版OpenOCD 准备 1 执行顺序 常见问题 问题1 AC PROG CC C99 告警 2 问题2 texinfo 版本不匹配 问题2 libtool版本不匹配 问题3 编译错误 验证一下 准备1 Instal
  • 使用Mac的十大最好用神器

    资深 Mac 用户 提升效率的 10 大神器 谢志鹏 大家好 我是曹将的徒弟 Pem 最近刚结束悉尼大学研究生的学习 是一枚正在求职的交互设计师 我是从 2015 年开始使用 Mac 的 如果用一句话来形容 Mac 的使用感受 那就是 令人
  • Go Web编程实战(6)----反射

    目录 反射 反射的3大原则 接口类型变量 转换为 反射类型对象 反射类型对象 转换为 接口类型变量 反射类型对象 修改 值必 可写的 反射 与其他语言一样 Go语言的反射同样是指 计算机程序在运行时 可以访问 检测和修改它本身状态或行为的一
  • Go项目部署及所遇问题

    小聊 本次小白给大家带来Golang项目部署操作以及个人所遇问题和解决它们的方法 依然是一边实操演示一边写文稿 如遇相似问题却存有疑惑可留言 开发环境是Window 部署环境是Linux 开发工具为GoLand 部署服务器为阿里云 1 打包
  • golang sleep

    golang的休眠可以使用time包中的sleep 函数原型为 func Sleep d Duration 其中的Duration定义为 type Duration int64 Duration的单位为 nanosecond 为了便于使用
  • Qt webengine 显示web页面、前后端通信以及下载详解

    概述 官方文档 https doc qt io archives qt 5 11 qtwebengine overview html 翻译文档 Qt5 9 WebEngine 概述 一花一世界 一叶一乾坤 博客园 从Qt5 5开始 Qt W
  • MacBook安装使用XMind

    MacBook安装使用XMind XMind简介 官方地址 https www xmind cn XMind 是一个全功能的思维导图和头脑风暴软件 为激发灵感和创意而生 作为一款有效提升工作和生活效率的生产力工具 受到全球百千万用户的青睐
  • Go Web编程实战(10)----模板引擎库text/template包的使用

    目录 前言 模板引擎 定义模板文件 解析模板文件 渲染模板 实战使用模板 创建 tmpl文件 创建文件用于解析与渲染模板 前言 在Go语言中 模板引擎库text template包主要用于处理任意格式的文本内容 同时还提供了html tem
  • 探索创意无限的Photoshop CC 2020Mac/Win版

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

    一 GoLang 接口的定义 1 GoLang 中的接口 在 Go 语言中接口 interface 是一种类型 一种抽象的类型 接口 interface 定义了一个对象的行为规范 只定义规范不实现 由具体的对象来实现规范的细节 实现接口的条
  • 掌握 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
  • 48.Go简要实现令牌桶限流与熔断器并集成到Gin框架中

    文章目录 一 简介 二 限流器与熔断器在微服务中的作用 1 限流器 对某个接口单位时间内的访问量做限制 2 熔断器 当服务连续报错 超过一定阈值时 打开熔断器使得服务不可用 三 具体实现 1 限流器实现逻辑 以令牌桶算法为例 2 限流器集成
  • go-zero开发入门之网关往rpc服务传递数据2

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

    code of conduct md 行为准则 CONTRIBUTING md 贡献指南 core 框架的核心组件 bloom 布隆过滤器 用于检测一个元素是否在一个集合中 breaker 熔断器 用于防止过多的请求导致系统崩溃 cmdli
  • go-zero开发入门之网关往rpc服务传递数据1

    go zero 的网关往 rpc 服务传递数据时 可以使用 headers 但需要注意前缀规则 否则会发现数据传递不过去 或者对方取不到数据 go zero 的网关对服务的调用使用了第三方库 grpcurl 入口函数为 InvokeRPC
  • GoLong的学习之路,进阶,Viper(yaml等配置文件的管理)

    本来有今天是继续接着上一章写微服务的 但是这几天有朋友说 再写Web框架的时候 遇到一个问题 就是很多的中间件 redis 微信 mysql mq 的配置信息写的太杂了 很不好管理 希望我能写一篇有管理配置文件的 所以这篇就放到今天写吧 微
  • 【golang】go执行shell命令行的方法( exec.Command )

    所需包 import os exec cmd 的用法 cmd exec Command ls lah ls是命令 后面是参数 e cmd Run 多个参数的要分开传入 如 ip link show bond0 cmd
  • [每周一更]-(第55期):Go的interface

    参考地址 https juejin cn post 6978322067775029261 https gobyexample com interfaces https go dev tour methods 9 介绍下Go的interfa
  • [每周一更]-(第55期):Go的interface

    参考地址 https juejin cn post 6978322067775029261 https gobyexample com interfaces https go dev tour methods 9 介绍下Go的interfa
  • go-carbon v2.3.4 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

    carbon 是一个轻量级 语义化 对开发者友好的 golang 时间处理库 支持链式调用 目前已被 awesome go 收录 如果您觉得不错 请给个 star 吧 github com golang module carbon gite

随机推荐