MacOS下本地golang环境搭建详细教程

 更新时间:2020年09月03日 10:36:35   作者:weixin_39092993  
这篇文章主要介绍了MacOS下本地golang环境搭建详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

安装golang

使用homebrew安装golang。homebrew是MacOS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等功能。开发者不需要关心依赖和文件路径。如果系统没有安装homebrew,终端内执行以下命令安装homebrew。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

安装完homebrew后执行以下命令安装golang,如果下载过慢可能是由于网络原因,可以通过更改homebrew的镜像地址或者开启科学上网解决。

brew install golang

配置环境变量

安装成功后,执行 go env 查看golang的环境变量。顺便可以测试是否安装成功。在本地的shell。配置相应环境变量。
zsh执行 vim ~/.zshrc,bash vim ~/.bashrc。从交互及易用的角度zsh更好一些,zsh完全兼容bash,并且提供自动补全的功能。如果shell默认不是zsh。可以通过如下命令切换默认zsh,并安装oh-my-zsh。oh-my-zsh 是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能。

sudo chsh -s zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

然后在~/.zshrc 声明环境变量,下面的示例中设置GOPATH为根目录下的golang目录,可以指定自己的目录为GOPATH。

export GOPATH=$HOME/golang
export GOROOT=/usr/local/opt/go/libexec

export GOPROXY=https://goproxy.cn,direct

安装完成执行 source ~/.zshrc,或者重新打开shell,使环境变量生效。
GOROOT 就是golang的安装路径。
GOPATH 作为 Go 语言的环境变量,相当于个人的工作区,每个工作区中都会有以代码包为基本组织形式的源码文件。goalng的项目必须放在GOPATH路径下,才能正常执行。这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。这个目录下有三个子目录:src、bin、pkg。
按照约定这三个目录的作用是:

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

GOPROXY 如果设置完成该变量,下载源代码时将会通过该环境变量设置的代理地址,不会直接从代码库下载。而且某些代码库所在服务器需要科学上网才可以访问。设置GOPROXY可以避免由于网络环境的原因下载不了某些代码库。
GOPRIVATE 正常情况下是从公共镜像 goproxy.io 上下载依赖包,并且会对下载的软件包和代码库进行安全校验,所以设置环境变量 GOPRIVATE,可以对指定仓库地址,跳过 proxy server 和校验检查。
通过设置GONOPROXYGONOSUMDB等环境变量。 可以更灵活的控制哪些依赖软件包经过 proxy server 和 sumdb 校验,这两个环境变量的被设置后将覆盖 GOPRIVATE 环境变量。
GONOSUMDB 通过这个环境变量设置不做校验的代码仓库地址。设置完成后从该地址上下载的依赖都不需要做校验。

Goland设置

VSCode需要额外配置插件,这里不讨论VSCode,如果团队开发使用Goland比较方便管理。毕竟Jenbrains家族的产品,从开发效率上来说,是极高的。但是还是希望懂得底层远离。不要离开IDE就不会写代码,无法启动项目。
IDE的额外配置:
1.自动保存格式化。避免因代码未格式化提交到git历史里。Preferences ->Plugins搜索 save actions,然后设置自动保存格式化。

2.设置goimports 格式化代码。Preferences -> Tools -> File Watchers。添加goimports 然后设置本地包单独分组参数。

-local amap-aos -w $FilePath$

3.项目配置
在 Goland 的右上方找到“Add Configuration”并单击。在弹出的窗口中点击“+”,并在下拉菜单中选择“Go Build”。点击“Go Build”之后,在窗口中填写对应的信息。

  • 名称:为本条配置信息的名称,可以自定义,也可以使用系统默认的值;
  • Run kind:这里需要设置为“Directory”。
  • Directory:用来设置 main 包所在的目录,不能为空。一般是项目的根目录。
  • Output directory:用来设置编译后生成的可执行文件的存放目录,可以为空,为空时默认不生成可执行文件。
  • Working directory:用来设置程序的运行目录,可以与“Directory”的设置相同,但是不能为空。

设置完成后就可以使用Goland在本地启动项目,注意项目代码要放在GOPATH下

总结

到此这篇关于MacOS下本地golang环境搭建详细教程的文章就介绍到这了,更多相关MacOS golang环境搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang通过SSH执行交换机操作实现

    Golang通过SSH执行交换机操作实现

    这篇文章主要介绍了Golang通过SSH执行交换机操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Go语言实现动态开点线段树详解

    Go语言实现动态开点线段树详解

    线段树是一种用于高效处理区间查询和区间更新的数据结构,下面我们就来看看如何使用Go实现动态开点线段树的方式,感兴趣的可以了解下
    2025-02-02
  • Golang的锁机制使用及说明

    Golang的锁机制使用及说明

    这篇文章主要介绍了Golang的锁机制使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Golang中空的切片转化成 JSON 后变为 null 问题的解决方案

    Golang中空的切片转化成 JSON 后变为 null 问题的解决方案

    在 Golang 中,经常需要将其他类型(例如 slice、map、struct 等类型)的数据转化为 JSON 格式,有时候转化的结果并不是预期中的,例如将一个空的切片转化为 JSON 时,会变成"null",所以本文将给大家介绍一下解决方法,需要的朋友可以参考下
    2023-09-09
  • 使用Golang实现流式输出

    使用Golang实现流式输出

    这篇文章主要为大家详细介绍了使用Golang实现流式输出的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • Go语言基础学习之指针详解

    Go语言基础学习之指针详解

    Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。所以本文就来和大家聊聊Go语言中指针的定义与使用,需要的可以参考一下
    2022-12-12
  • Golang标准库syscall详解(什么是系统调用)

    Golang标准库syscall详解(什么是系统调用)

    最近在研究go语言,发现go语言系统调用源码只有调用函数的定义,今天通过本文给大家分享Golang标准库syscall详解及什么是系统调用,感兴趣的朋友一起看看吧
    2021-05-05
  • Go语言应用闭包之返回函数

    Go语言应用闭包之返回函数

    这篇文章主要介绍了Go语言应用闭包之返回函数,对于非常底层的纯 Go 语言代码或者包而言,在各个操作系统平台上的可移植性是非常强的,只需要将源码拷贝到相应平台上进行编译即可,或者可以使用交叉编译来构建目标平台的应用程序,需要的朋友可以参考下
    2023-07-07
  • Go正则表达式匹配字符串,替换字符串方式

    Go正则表达式匹配字符串,替换字符串方式

    介绍了Go语言中使用正则表达式进行字符串匹配和替换的方法,包括匹配单个子字符串和所有子字符串,个人经验分享,旨在为读者提供实用的编程技巧,并鼓励大家支持脚本之家
    2025-02-02
  • Go语言基础Json序列化反序列化及文件读写示例详解

    Go语言基础Json序列化反序列化及文件读写示例详解

    这篇文章主要为大家介绍了Go语言基础Json序列化反序列化以及文件读写的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11

最新评论