zoukankan      html  css  js  c++  java
  • Mac下使用brew安装go

    大学时写过go的hello world,没有深入研究过,如今项目中需要将nodejs替换为go,且记录一下学习过程;

    1.Mac上使用brew安装(brew的使用可以参考我的博客https://www.cnblogs.com/leadership/p/11534116.html),方便快捷

    $ brew install go

    出现上面的结果说明安装成功,我们打开终端输入go version,查看安装的go版本

    2.配置环境变量

    查看go的环境变量配置:

    $ go env

    显示如下:

    GO111MODULE=""

    GOARCH="amd64"

    GOBIN=""

    GOCACHE="/Users/xin.zhu/Library/Caches/go-build"

    GOENV="/Users/xin.zhu/Library/Application Support/go/env"

    GOEXE=""

    GOFLAGS=""

    GOHOSTARCH="amd64"

    GOHOSTOS="darwin"

    GONOPROXY=""

    GONOSUMDB=""

    GOOS="darwin"

    GOPATH="/Users/xin.zhu/go"

    GOPRIVATE=""

    GOPROXY="https://proxy.golang.org,direct"

    GOROOT="/usr/local/Cellar/go/1.13/libexec"

    GOSUMDB="sum.golang.org"

    GOTMPDIR=""

    GOTOOLDIR="/usr/local/Cellar/go/1.13/libexec/pkg/tool/darwin_amd64"

    GCCGO="gccgo"

    AR="ar"

    CC="clang"

    CXX="clang++"

    CGO_ENABLED="1"

    GOMOD=""

    CGO_CFLAGS="-g -O2"

    CGO_CPPFLAGS=""

    CGO_CXXFLAGS="-g -O2"

    CGO_FFLAGS="-g -O2"

    CGO_LDFLAGS="-g -O2"

    PKG_CONFIG="pkg-config"

    GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/fl/b3fnstgj4hv6k8g2scfs91sw0000gn/T/go-build443202818=/tmp/go-build -gno-record-gcc-switches -fno-common"

    事实上安装好后的go已经可以使用了,我们只需要在home下新建go文件夹,就可以在这个目录下创建go项目,如果不想使用默认的home/go文件夹当作工作空间,可以修改go env中的GOPATH=/xxx/xxx。

    3.再来一次hello world

    在home/go下新建src/hello目录,在该目录中新建hello.go,内容如下:

    package main
    
    import "fmt"
    
    func main() {
        fmt.Printf("hello, world
    ")
    }

    在路径home/go/src/hello下执行 $ go build

    然后运行 $ ./hello

    输出:hello, world

    4.关于环境变量

    $GOROOT 表示 Go 在电脑上的安装位置,不需要手动配置

    $GOBIN 表示编译器和链接器的安装位置,默认是 $GOROOT/bin,Go 1.0.3 及以后的版本,可以将它的值设置为空,Go 会使用默认值。

    $GOPATH  项目存放目录,默认采用和 $GOROOT 一样的值, Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个包含 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:src、pkg 和 bin,这三个目录分别用于存放源码文件、包文件和可执行文件。

    $GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。

    $GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows。

    $GOARM 专门针对基于 arm 架构的处理器,它的值可以是 5 或 6,默认为 6。

    $GOMAXPROCS 用于设置应用程序可使用的处理器个数与核数

    Go 编译器支持交叉编译,就是说编写源代码的机器可以和应用程序的机器有完全不同的操作系统或处理器架构。

    为了区分本地机器和目标机器,可以使用 $GOHOSTOS 和 $GOHOSTARCH 设置本地机器的操作系统名称和编译体系结构,这两个变量只有在进行交叉编译的时候才会用到,如果不进行显示设置,他们的值会和本地机器($GOOS 和 $GOARCH)一样。

  • 相关阅读:
    Eclipse中properties文件中文显示编码、乱码问题
    Eclipse中安装yml插件( YEdit )
    Java中如何返回Json数组
    ASIFormDataRequest 登录
    Safari里使用JsonView
    beginUpdates和endUpdates
    svn log 不显示日志的问题
    svn代码回滚命令
    Tomcat: localhost:8080 提示404
    android定时三种方式
  • 原文地址:https://www.cnblogs.com/leadership/p/11572829.html
Copyright © 2011-2022 走看看