zoukankan      html  css  js  c++  java
  • Linux环境下搭建go开发环境

    一、环境介绍

    Linux环境:阿里云,Linux镜像是centos8.2 64位

    本机电脑:是win10操作系统

    二、Linux下golang环境搭建

    首先通过Xshell6连接上阿里云Linux操作系统

      

    下载go语言开发环境,地址是https://golang.google.cn/dl/,可以根据自己的情况选择相应的版本,我选择的是go1.15.5.linux-amd64.tar.gz。下载命令如下:直接下载到/usr/local目录下。

    wget https://golang.google.cn/dl/go1.15.5.linux-amd64.tar.gz

    下载完成后检查一下完整性:

    sha256sum go1.15.5.linux-amd64.tar.gz

     我们使用命令ll检查下是否存在该压缩包,可以看到已经下载成功了:

    接下来解压该文件到当前目录:

     tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz

    如上图,解压成功,然后配置环境变量,可以在不同的位置添加环境变量,比如 /etc/profile 或 $HOME/.profile 等。不同之处是 /etc/profile 中的配置是共享给主机上的所有用户的,而 $HOME/.profile 中的配置只对当前用户起作用。选择在 /etc/profile 中添加 PATH 变量的配置信息,具体操作如下:

    先打开/etc/profile文件:

    sudo vim /etc/profile

    在最后加入下面这句话:

    export PATH=$PATH:/usr/local/go/bin

     然后:wq!保存退出即可。保存该文本并退出登录,然后重新登录一次系统。执行下面的命令查看 PATH 变量的内容:

    $ echo $PATH | grep go

    看到 PATH 变量的输出中包含 /usr/local/go/bin 路径就说明 PATH 变量已经设置成功。也就是说,无论当前路径在哪里都可以直接执行 go 命令了,比如查看go的基本信息:

     到这里我们已经完成了 go 语言开发环境的安装。下面我们来运行一个 hello world 程序。

    三、"Hello world"小试牛刀

    在 go 语言的开发环境中有工作区(workspace)的概念,你必须设置一个工作区,然后按照约定的目录等规则进行开发工作。如果我们没有设置工作区,go 语言的开发环境会认为我们在使用默认的工作区,即 $HOME/go 目录。当然你可以自己动手通过 GOPATH 环境变量设置一个更符合你个人习惯的目录作为工作区。

    Go语言的工作空间其实就是一个文件目录,目录中必须包含src、pkg、bin三个目录。其中src目录用于存放Go源代码,pkg目录用于package对象,bin目录用于存放可执行对象。使用Go的编译命令工具可以将源代码或package编译后的二进制输出对应存储到bin和pkg目录中。src目录中的源代码根据package名分类到对应的子目录中,并且可以使用各种版本控制工具。举个例子,Go的工作空间目录结构大致如下:(待补充)

    1、建立工作空间

    在/home目录下新建go目录(文件名随意),然后在go目录下分别新建三个目录:

    • src ---- 里面每一个子目录,就是一个包。包内是Go的源码文件
    • pkg ---- 编译后生成的,包的目标文件
    • bin ---- 生成的可执行文件。
    mkdir -p /home/goproject/src
    mkdir -p /home/goproject/pkg
    mkdir -p /home/goproject/bin

      

     2、设置GOPATH环境变量

    GOPATH是go语言中跟工作空间相关的环境变量,这个变量指定go语言的工作空间位置。当你建立工作空间目录后,你需要把工作空间目录的路径添加的GOPATH环境变量中。GOPATH环境变量支持多个值,如果你有多个工作空间,可以把多个工作空间值都添加到这个环境变量中,window系统使用分号";"分隔不同值,Linux或Unix系统使用冒号”:“分隔不同值。

    $ export GOPATH=你的工作空间路径

    需要注意的是,GOPATH环境变量的值不能与安装的go目录相同。go目录中同样有src、pkg、bin等类似工作空间的目录结构,不过其中包含的是go的标准模块,最好不要讲自己的工作空间和go目录混合,对于以后升级go版本也比较容易。具体含义如下:

    #GOPATH:设置go的工作区
    export GOPATH=/home/goproject

     保存后,执行以下命令,使环境变量立即生效:

    source /etc/profile

     3、创建“Hello world”

    在~/goproject/src下建立一个文件夹为hello,在这个文件夹内新建一个文件hello.go

    mkdir hello
    touch hello.go

     hello.go文件内容如下:

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

    保存后执行下面的构建命令:

    go build

    会在当前目录生成一个名为 hello 的可以执行文件:

     执行hello可执行文件:

    ./hello

     输出的 "hello, world" 字符串证明我们安装的 go 开发环境是能够正常工作的!如果我们把 go build 命令换成 go install 命令呢?试试看:

    go install

    执行后当前目录中的 hello 可执行文件消失了,原来它被安装到了 /home/goproject/bin 目录下:

     

     原来 go install 命令的作用就是在编译完成后把程序安装到工作区中的 bin 目录下

    四、安装 GoLand IDE

    使用IDE的前提是Linux系统有图形界面,请参考阿里云linux如何设置图形界面

    从 jetbrains 官网下载最新的 GoLand 安装包,同样选择 Linux 版本,下载的版本为 goland-2020.2.3.tar.gz。

    wget https://download.jetbrains.8686c.com/go/goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389

     下载完成后检查一下完整性(从上图可以看到,我下载包名称是goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389.1,重复下载了,所以最后有个.1)

    sha256sum goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389.1

     然后解压缩安装包,按照 GoLand 官方文档的建议,把安装包解压缩到 /opt 目录:

    tar -C /opt -xf goland-2020.2.3.tar.gz?_ga=2.111684353.420032320.1606703389-491346507.1606703389.1

    执行安装脚本,进入解压缩的目录下的 bin 目录中,然后执行 goland.sh 脚本:

    ./goland.sh 

    这里提示错误:Startup Error: Unable to detect graphics environment

    具体原因是:xshell软件不支持图形显示

    解决方法如下:

    直接在linux上去操作,而不是通过SSH(如Xshel)

    按照提示默认安装,安装成功后,

  • 相关阅读:
    (转)Paint类的主要方法介绍
    (转)实时对讲机
    (转)Android:Layout_weight的深刻理解
    好的网址
    自定义控件模板,不用依赖属性---------------------WPF
    asyns和await实现传统的异步---------C#
    线程访问wpf的控件(与winform有差异)---------------WPF
    C#多线程之Task------------ C#
    换肤功能的实现-------------WPF
    访问嵌入的资源----图片实例-------C#
  • 原文地址:https://www.cnblogs.com/qtiger/p/14062129.html
Copyright © 2011-2022 走看看