刚开始学习Go语言,这里记录下我在Ubuntu 16.04下安装使用golang的过程,方便以后查询。

一、安装

1、添加源

  如果使用默认的源安装golang的话,版本太低,只到1.6,所以要添加一个新的源并更新,执行以下命令:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update

2、安装

sudo apt install golang-go

  安装之后,可以通过go version命令查看版本。通过新的源安装下来,golang的版本是1.11.4(2019年1月25日)。

3、配置环境

  接下来,还需要做一点配置,我编写在~/.bashrc文件中,内容如下:

export GOPATH=/mydata/golang
export GOBIN=$GOPATH/bin
export PATH=$PATH:${GOPATH//://bin:}/bin

  GOROOT是Go的正式软件所在路径,在我们安装时系统已经自动设置好,所以不用在这里指明。GOPATH是我们自己的软件和第三方的Go软件所在路径,由自己指定,以后安装的各种附属工具会被安装在这里。

二、emacs中的golang支持配置

1、在自己设定的emacs插件目录中下载go-mode插件

  我习惯把emacs的插件目录放在目录:~/.emacs.d/plugins/。进入插件目录,执行以下克隆命令:

git clone https://github.com/dominikh/go-mode.el.git

2、编辑配置文件~/.emacs

  在.emacs文件中添加以下内容:

;; ---------------------golang---------------------
(add-to-list 'load-path "~/.emacs.d/plugins/go-mode.el")
(require 'go-mode)

  保存、退出,再进入编辑Go程序文件,就会有语法高亮、自动格式等功能。

三、代码格式

  Go的工具中提供了gofmt命令来格式化源代码文件,其命令参数如下:

usage: gofmt [flags] [path ...]
  -cpuprofile string
        write cpu profile to this file
  -d    display diffs instead of rewriting files
  -e    report all errors (not just the first 10 on different lines)
  -l    list files whose formatting differs from gofmt's
  -r string
        rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')
  -s    simplify code
  -w    write result to (source) file instead of stdout

  如果是在emacs下编辑,并且已经安装上一步所提到的插件,那么格式会自动设置好。这个风格我不怎么喜欢,先用着吧。

Ubuntu 16.04 下简单安装使用golang之备忘的更多相关文章

  1. Ubuntu 16.04下编译安装Apache2.4和PHP7结合

    Ubuntu 16.04下编译安装Apache2.4和PHP7结合,并安装PDOmysql扩展. 1.编译安装apache2.4.20 1 第一步: ./configure --prefix=/usr ...

  2. Ubuntu 16.04下apt安装ssh及卸载(含FileZilla 使用过程)

    前言:文件发布测试过程中需要使用Windows和Ubuntu实现文件共享. 以下内容转载自:http://blog.csdn.net/jiang13479/article/details/535014 ...

  3. Ubuntu 16.04下vsftpd 安装配置实例

    从https://www.linuxidc.com/Linux/2017-06/144807.htm转载 第一步:安装VSFTPD sudo apt-get install vsftpd 安装完成后启 ...

  4. Ubuntu 16.04下如何安装VMware-Workstation

    一.下载 下载地址:https://my.vmware.com/cn/group/vmware/details?downloadGroup=WKST-1411-LX&productId=686 ...

  5. RabbitMQ在Ubuntu 16.04下的安装与配置

    安装执行如下命令: echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d ...

  6. Ubuntu 16.04下的安装RabbitMQ

    安装 添加源 echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/ra ...

  7. Ubuntu 16.04下FireFox安装Flash插件

    下载: https://get.adobe.com/flashplayer/ 选择tar.gz包 解压 sudo tar zxvf flash_player_npapi_linux.x86_64.ta ...

  8. Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用【转】

    本文转载自:http://www.linuxdiyf.com/linux/24086.html Ubuntu 16.04下EasyOpenJTAG+OpenOCD的安装和使用 发布时间:2016-09 ...

  9. Ubuntu 16.04下安装MacBuntu 16.04 TP 变身Mac OS X主题风格

    Ubuntu 16.04下安装MacBuntu 16.04 TP 变身Mac OS X主题风格 sudo add-apt-repository ppa:noobslab/macbuntu sudo a ...

随机推荐

  1. BadgeView使用

    BadgeView是第三方的插件,用来显示组件上面的标记,起到提醒的作用,下载地址如下:http://files.cnblogs.com/files/hyyweb/android-viewbadger ...

  2. zookeeper应用 - 配置服务

    一端不停的更新配置,另一端监听这个配置的变化.     需要注意的是:监听端不一定读取到所有的变化.在zk服务器发送通知到客户端,客户端读取数据注册监听之间可能发生了多次数据变化,这些数据变化是得不到 ...

  3. 结对作业——随机生成四则运算(Core 第7组)

    结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...

  4. Falsk的模板分配和蓝图、定制错误信息、 和补充

    Flask的模板渲染: Flask的模板在进行渲染的时候是默认选则templates下的html文件 我们可以在实例化app的时候,指定文件来进行选择: 模板渲染更改文件夹:template_fold ...

  5. [翻译] LiquidFloatingActionButton

    LiquidFloatingActionButton https://github.com/yoavlt/LiquidFloatingActionButton LiquidFloatingAction ...

  6. 将jsonModel转化为文件

    将jsonModel转化为文件 这个类是我自己写着用的,用于将字典文件直接转换成Model的文件,省去你写无数Model中属性的代码: TransformDictionary.h 与 Transfor ...

  7. 自定义UITabbarController控制器

    自定义UITabbarController控制器 这是定制UITabbarController的基本原理,没有进行功能性封装. 效果:   源码地址: https://github.com/YouXi ...

  8. c++课程学习(未完待续)

    关于c++课程学习 按照计划,我首先阅读谭浩强c++程序设计一书的ppt,发现第一章基本上都是很基础的东西. 同时,书中与班导师一样,推荐了使用visual c++. 而师爷的教程里面推荐使用的是ec ...

  9. 026.2 网络编程 UDP聊天

    实现,通过socket对象 ##############################################################需求建立UDP发送端:###思路:1.建立可以实 ...

  10. JNI学习笔记

    JNI是什么->一套c和java的互掉规则   为什么使用JNI 1.非常多敏感效率的代码已经用C实现了 2. JNI双向.java调用c,c调用java   Java集成本地代码问题 1.代码 ...