再论 golang 环境配置建议

简介:

再论 golang 环境配置建议


摘要

在之前的实践中满足开发环境所有特征的情况下进行了大量方式上的升级。经过8次的版本升级,调整,爬坑,终于觉得这次版本升级足够有意义替代之前版本的建议。

我总觉得花一少部分的时间调整开发工具让自己的工作效率更高是非常值得的。

本次祭出大招Docker来作为项目开发的主要脚手架。

并且我现在认为一个好的开发工具应该满足:

  1. 项目管理
  2. 快速文件跳转
  3. 自动语法检查
  4. 自动补全
  5. 查找定义
  6. 启动速度快
  7. 如果自己有需求的话插件可以随便写
  8. 灵活的运行配置

但是根据10个月的开发实践,除了上面这些之外还需要兼顾:

  1. 国内的网络环境
  2. 升级方便
  3. 随时随地快速部署自己的开发环境
  4. 能在线上服务器进行开发,随时随地升级版本修改代码。

Docker Registry


  
  
  1. docker pull index.tenxcloud.com/philo/golangdev:1.2.1
  2. docker pull lijianying10/golangdev:1.2.1

如果你还不会docker请参考这里

Dockerfile

点击这里查看Dockerfile

升级日志

1.2.1

  • 修复vim下escape有时间延迟(解决方法见.vimrc最后一行)
  • Ctrl+s保存的时候添加代码格式检查(其实就是追加命令 :GoMetaLinter)
  • 更新golang到1.5.2 based on Debian 8

特征解释

兼顾国内网络情况

  1. 使用Dockerfile从国外VPS构建,然后推送到时速云备用。这种构建方式适合调试
  2. 推荐!如果您在国外没有VPS推荐使用时速云TCE来构建,从香港节点自动化构建随时能看到日志。参考文档

升级方便

  1. 直接修改Dockerfile完成升级,调整From就可以调整底层系统使用。
  2. 可根据您的需要随时定制自己的版本。非常方便

随时能够快速部署

  1. Docker启动速度非常快
  2. 如果您没有Image在内网该Image也只有1GB大小可非常快速的传输到您的电脑。
  3. 国内准备好了加速源,详细查看Docker Registry部分。时速云确实挺快的。
  4. 如果您的工作站安装的是CoreOS or Rancher这种的Docker Linux 不但安装快,部署开发环境也是一瞬间完成。

能够在线上服务器进行线上代码调整

  1. 只要部署到线上服务器直接就可以使用。
  2. 老板再也不用担心我的集成新功能速度太慢了。

使用方法

文件跳转(Command-T)

快捷键: <leader>t

注意:<leader>在我的vim配置里面是反斜杠,插件快捷键参考官方文档

项目管理(NERD_tree)

快捷键: M-u

注意: 插件快捷键参考官方文档

自动语法检查

触发: 每次保存文件

命令: 


  
  
  1. :GoMetaLinter, which invokes all possible linters (golint, vet, errcheck, deadcode, etc..) and shows the warnings/errors

例子中:Struct默认要求有注释,不然就会报警。对于常用的拼写比如说ID有严格的检查需要符合大众的拼写习惯。

其他正确性检查这里不再赘述。

自动补全

注意:在最上面会显示API文档,想关闭文档快捷键:M-c

查找定义位置

快捷键:M-n

Outline 快速跳转(Tagbar)

快捷键:M-p

快速关闭文件

快捷键:C-c

文件标签切换

快捷键: M-i 切换到上一个 快捷键: M-o 切换到下一个

保存文件

快捷键 C-s

注意: Stop tty已经被我关闭,不必担心tty被锁。

总结

在上面我总结的全部都是我加的快捷键用起来比较舒服的。如果您需要自己修改快捷键请fork我的github REPO

如果您有任何改进意见请回复留言给我发Email。先谢过。

vim还有很多默认的快捷键这里就不再多说,最好的学习方法是想到自己有什么习惯或者需要快捷键支持去google找找。




本文来自云栖社区合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

相关文章
|
缓存 Java 程序员
2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程
GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。由于博主硬盘空间较为充足,不考虑移动软件安装目录,需要者请自行寻找方法,本文为无脑操作。
431 0
|
Java 中间件 Unix
Golang 环境配置与应用编译
这篇文章主要是说一下 Go 的工作目录与编译的规则,初步体验一下 Go 的大道至简的魅力。
309 0
Golang 环境配置与应用编译
|
JSON Go 数据格式
Golang语言 Gin框架环境配置、报错处理、接口调用、配置和日志管理|Go主题月
Gin框架环境配置、报错处理、接口调用、配置和日志管理
449 0
|
Oracle 关系型数据库 Go
|
4天前
|
存储 监控 算法
探秘员工泄密行为防线:基于Go语言的布隆过滤器算法解析
在信息爆炸时代,员工泄密行为对企业构成重大威胁。本文聚焦布隆过滤器(Bloom Filter)这一高效数据结构,结合Go语言实现算法,帮助企业识别和预防泄密风险。通过构建正常操作“指纹库”,实时监测员工操作,快速筛查可疑行为。示例代码展示了如何利用布隆过滤器检测异常操作,并提出优化建议,如调整参数、结合日志分析系统等,全方位筑牢企业信息安全防线,守护核心竞争力。
|
6天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
54 20
|
11天前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
22 0
|
12天前
|
Go C语言
Go语言入门:分支结构
本文介绍了Go语言中的条件语句,包括`if...else`、`if...else if`和`switch`结构,并通过多个练习详细解释了它们的用法。`if...else`用于简单的条件判断;`if...else if`处理多条件分支;`switch`则适用于基于不同值的选择逻辑。特别地,文章还介绍了`fallthrough`关键字,用于优化重复代码。通过实例如判断年龄、奇偶数、公交乘车及成绩等级等,帮助读者更好地理解和应用这些结构。
34 14

热门文章

最新文章