分类目录归档:Golang

go get 使用代理

目前仅支持http以及https代理,不支持socks,所以如果是用ssh需要参考另外一篇文章:使用privoxy+ssh实现共享科学上网

#https
https_proxy=127.0.0.1:8118 go get url
#http
http_proxy=127.0.0.1:8118 go get url

GoGetProxyConfig

Setting proxies for source code used by go get (listed in GoGetTools)

git

$ git config [--global] http.proxy http://proxy.example.com:port

mercurial

Edit ~/.hgrc and add the following:

[http_proxy]
host=proxy.example.com:port

svn

Edit ~/.subversion/servers and add the following:

[Global] 
http-proxy-host=proxy.example.com
http-proxy-port=xxxx 

Go的50度灰:Golang新开发者要注意的陷阱和常见错误

http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/

原文: 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
翻译: Go的50度灰:新Golang开发者要注意的陷阱、技巧和常见错误, 译者: 影风LEY

Go是一门简单有趣的语言,但与其他语言类似,它会有一些技巧。。。这些技巧的绝大部分并不是Go的缺陷造成的。如果你以前使用的是其他语言,那么这其中的有些错误就是很自然的陷阱。其它的是由错误的假设和缺少细节造成的。

如果你花时间学习这门语言,阅读官方说明、wiki、邮件列表讨论、大量的优秀博文和Rob Pike的展示,以及源代码,这些技巧中的绝大多数都是显而易见的。尽管不是每个人都是以这种方式开始学习的,但也没关系。如果你是Go语言新人,那么这里的信息将会节约你大量的调试代码的时间。

LiteIDE Desktop配置

文件保存在/usr/share/applications/liteide.desktop

[Desktop Entry]
Version=27
Type=Application
Name=LiteIDE
GenericName=LiteIDE
Comment=LiteIDE is a simple, open source, cross-platform Go IDE.
Exec=/home/ning/tool/liteide/bin/liteide %F
Terminal=false
MimeType=text/plain;
Icon=/home/ning/tool/liteide/share/liteide/welcome/images/liteide400.png
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

goose – golang database migration tool

goose是一个golang的数据库迁移工具

安装

go get bitbucket.org/liamstask/goose/cmd/goose

创建目录

mkdir db

初始化dbconf

# vim db/dbconf.yml
development:
    driver: mymysql
    open: dbname/username/password
    import: github.com/ziutek/mymysql/godrv
    dialect: mysql

新增迁移脚本

goose create init sql

升级

goose up

降级

goose down

重做

goose redo

状态

goose status

SQL迁移

-- +goose Up
CREATE TABLE post (
    id int NOT NULL,
    title text,
    body text,
    PRIMARY KEY(id)
);

-- +goose Down
DROP TABLE post;