兄弟连区块链技术培训分享GO语言开发环境

兄弟连区块链培训 · · 602 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

  Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。


  兄弟连Go语言+区块链培训课程共计22周学习时长,划分为9个学习阶段,即区块链主流语言-Go语言开发实战、区块链后端技术体系-Go语言高并发和服务器开发、Go开发区块链公链(区块链密码学、分布式编程、共识算法、基本概念,Golan公链开发)、eth与智能合约与DAPP开发、区块链分布式应用开发、区块链系统框架开发-超级账本与区块链3.0EOS、Go与区块链面试强化和高级企业级项目实战。

基础开发工具

sublime text2下载

为何使用sublime text2?相信很多喜欢轻量级工具,开大量chrome网页以及使用大量小而精软件的开发者都喜欢editor吧,当然最主要是vim mode!


安装package control

打开后,按ctrl + ~打开命令行,或者在view->show console,复制如下代码,执行


import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen(' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')


安装gosublime,配置


作为在st上开发go的基础,必装,然后在settings-user里写上如下配置,设定一个golang的workspace,这样就可以自动提示import包里的方法了


{

    "env": {

        "GOPATH": "~/workspace:$GS_GOPATH"

    },

    "autocomplete_builtins": true,

    "autocomplete_suggest_imports": true

}


安装golint

golint用于检测语法问题,类似于jslint,但是它提示最多的无非是变量名不要用下划线啊,然后给出一个建议的变量名,要写注释啊...当然,写了注释之后,使用godoc -http=:8081 (端口随意)就可以在浏览器里看到刚才辛苦写的注释已经生成了文档


golint filename1 filepath1//可以使用多个参数指定目录或者文件

可将其部署到gosublime或者fswatch中去


安装goimporter

这是一个比gofmt更厉害一点的工具,它会自动修改import里的包,还是十分实用的,不会因为import里的东西没用,或者用了某一个package而没有import导致的错误提示,这是节省时间的好东西,积小成多


编译好之后,设置一个ln -s到$GOBIN目录(或者复制过去),并且将gosublime的user-setting添加一行,好东西啊~


"fmt_cmd": ["goimports"]

注:ln -s 需要绝对路径


fswatch热编译


同样build好之后连接到$GOBIN下,或者/usr/bin之类目录,windows用户那建议放到$GOBIN下,编译的时候直接go build,不要对单独的fswatch.go编译,因为有多个package main文件


在需要目录执行fswatch,自动生成.fswatch.json

然后在command里写需要执行的命令,参考如下


{

    "paths": [

        "."

    ],

    "depth": 2,

    "exclude": [],

    "include": [

        "\\.(go|py|php|java|cpp|h|rb)$"

    ],

    "command": [

        "bash",

        "-c",

        "pgrep server | xargs kill && golint ./ && go build server.go && ./server"

    ],

    "env": {


    },

    "kill-signal": "KILL"

}

注意:command是自己写的,因为这个工具在我的Mac不能杀掉启动的进程,因此就手动加了kill的命令,具体如何修复还在研究源代码中~~


将golint并入到监控目录中去,方便修改内容


supervisor

[program:vehiclestat]

command=~/workspace/yourprogram

autostart = true

autorestart = true

startsecs = 5

user = root

redirect_stderr = true

stdout_logfile = /var/log/supervisord/yourprogram.log

比较实用的监控进程的工具,相比较用nohup ./xxx &还是比较放心的


其它

设置当前目录为$GOPATH


alias gopath='export GOPATH=`pwd` && echo $GOPATH'

尤其适合多个不同目录下的go项目,在每个项目下运行一次gopath,就设置好了当前的gopath,十分方便.

高能预警,兄弟连教育区块链直播课程8月持续火爆来袭!

原价1188元的12节区块链进阶课程,现仅需1元!

还可免费领取《Go语言基础实战项目开发》与《Go语言高级实战项目开发》教材两本!!限时限量!!先到先得!!

http://www.ydma.cn/open/course/24

关注兄弟连区块链技术公众号领取更多技术干货哦!!!

本文来自:简书

感谢作者:兄弟连区块链培训

查看原文:兄弟连区块链技术培训分享GO语言开发环境

入群交流(和以上内容无关):Go中文网 QQ 交流群:729884609 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

602 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传