zoukankan      html  css  js  c++  java
  • Go 语言环境安装

    跨平台特性

    Go语言和Java,Python一样,也是支持跨平台的。另外,Go语言还有黑科技:支持跨平台编译。比如你手头只有Mac系统,而你的用户有Linux和Windows的,他们也想使用你的Go语言程序,你可以通过交叉编译出Linux和Windows上的可执行文件给他们。另外,你甚至可以在32位平台的机器上以编译生成64位平台上的可执行程序。

    Windows下安装

    go语言中国官方下载地址:https://studygolang.com/dl。 然后在这里找到对应的windows安装包,最新版是go1.4.windows-amd64.msi这个文件,一路Next安装即可。安装完毕后重启电脑,在cmd控制台下输入:

    go version

     如果打印出:

    go version go1.4 windows/amd64

    则证明安装成功!

    Linux下安装

    1.安装 C 工具

    Go 的工具链是用 C 语言编写的,因此在安装 Go 之前你需要先安装相关的 C 工具。如果你使用的是 Ubuntu 的话,你可以在终端输入以下指令( 译者注:由于网络环境的特殊性,你可能需要将每个工具分开安装 )。

    sudo apt-get install bison ed gawk gcc libc6-dev make

    你可以在其它发行版上使用 RPM 之类的工具。

    2.go语言官方下载地址:https://golang.org/dl。 然后在这里找到对应的Linux安装包,最新版是go1.9.2.linux-amd64.tar.gz这个文件,然后执行以下命令解压:

    mkdir /home/go
    mkdir /home/gopath
    tar -C /home -xzvf go1.4.linux-amd64.tar.gz

    我们在 Linux 系统下一般通过文件 $HOME/.bashrc 配置自定义环境变量,根据不同的发行版也可能是文件$HOME/.profile,然后使用 gedit 或 vi 来编辑文件内容。

    接下来修改系统配置文件,执行命令:

    vi ~/.bashrc

    加入以下内容:

    export GOROOT=/home/go

    # 为了确保相关文件在文件系统的任何地方都能被调用,你还需要添加以下内容: export PATH
    =$PATH:$GOROOT/bin

    # 在开发 Go 项目时,你还需要一个环境变量来保存你的工作目录。
    # $GOPATH 可以包含多个工作目录,取决于你的个人情况。
    # 如果你设置了多个工作目录,那么当你在之后使用 go get(远程包安装命令)时远程包将会被安装在第一个目录下。 export GOPATH
    =/home/gopath
    # 配置启用Go Modules
    export GO111MODULE=auto
    export GOPROXY=https://goproxy.cn,direct

    然后执行:

    source ~/.bashrc

    让配置文件生效。

    然后打开Terminal,输入:

    go version

    如果打印出:

    go version go1.4 linux/amd64

    则证明安装成功!

    七牛云为中国的gopher提供了一个免费合法的代理goproxy.cn,其已经开源。只需一条简单命令就可以使用该代理:

    go env -w GOPROXY=https://goproxy.cn,direct

    GOROOT和GOPATH区别

    GOROOT是Go语言的安装目录,类似于JAVA中的JAVA_HOME。

    GOPATH是你代码中的引用的包所在的位置,可以看成是工程目录,可以设置多个。

    测试使用go mod

    在不使用go mod情况下,我们的项目必须要放在GOPATH路径下(如果不是工程文件,只是一个简单的main.go文件则不需要设置,直接编译运行即可),不然会在代码中 import "包路径" 会出现问题。但是引入 go module管理包,就不需要项目工程必须在GOPATH路径了。

    1. 初始化。在非GOPATH路径创建项目

    go mod init 目录名

    注意:必须进入项目目录,目录名是当前所在项目的目录名字。执行成功,生成 go.mod 文件。

    2. 开始使用。比如代码使用了GitHub某个包,这里测试一个G站上的测试包,代码如下:

    package main
     
    import (
            api "github.com/tuweiguang/GoTestLib/api"
    )
     
    func main() {
        api.MyApi()
    }
    [root@localhost hello]# go run test.go 
    go: finding github.com/tuweiguang/GoTestLib v0.0.5
    go: downloading github.com/tuweiguang/GoTestLib v0.0.5
    go: extracting github.com/tuweiguang/GoTestLib v0.0.5
    this is MyApi
    this is MyApi2
    this is MyApi3
    this is MyApi4
    this is MyApi5
    this is MyApi6
    [root@localhost hello]# ls
    go.mod  go.sum  test.go

    go.mod 与 go.sum

    go.mod 中会记录当前项目的所依赖

    go.sum记录每个依赖库的版本和哈希值

    详情请看:go module基本使用

  • 相关阅读:
    给C盘瘦身的秘诀
    电化学词汇大全
    Scrapy学习-(1)
    数学部分分支关系总结,有修改的欢迎留言。
    BindingException: Mapper method 'xxx.dao.StudentDao.insertStudent' attempted to return null from a method with a primitive return type (int).
    insertSale attempted to return null from a method with a primitive return type (int).
    Maven [ERROR] 不再支持源选项 5。请使用 7 或更高版本
    Python中字符串型数组--转换为-->数字型数组
    18、pywintypes.com_error: (-2147221008, '尚未调用 coinitialize。', none, none)
    17、ModuleNotFoundError: No module named 'pywin32_bootstrap'
  • 原文地址:https://www.cnblogs.com/niuben/p/12269165.html
Copyright © 2011-2022 走看看