代码改变世界

Go开源项目 - gorp使用方法

2013-01-17 10:25 by Danny.tian, 13228 阅读, 0 推荐, 收藏, 编辑
摘要:gorp是一个Go开源ORM框架.Go关系型数据库持久化我很含糊的称gorp是一个ORM框架. Go还没有真正的对象, 至少没有一个经典的感觉和Smalltalk/Java一样的,这是"O". gorp不知道任何你struct之间的关系(以后会实现,现在还在TODO list中). 所以"R"也是有质疑的(但是我使用这个名字,因为感觉上更贴切)."M"是没有问题的. 给定一些Go结构和一个数据库, gorp应该可以减少你的重复代码.我希望gorp能节省你的时间并简化从数据库获取数据的苦活来帮助你把精力投入到算法上而不是基础设施上面.数 阅读全文

Go开源项目 - fsnotify源代码浅析

2013-01-16 14:19 by Danny.tian, 4310 阅读, 0 推荐, 收藏, 编辑
摘要:fsnotify是一个文件系统监控库, 它可以支持在如下系统上使用:WindowsLinuxBSDOSX使用方法来自官方示例: watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal(err) } // Process events go func() { for { select { case ev := <-watcher.Event: log.Println("event:", ev) ... 阅读全文

递归(汉诺塔) Go实现

2013-01-16 11:08 by Danny.tian, 328 阅读, 0 推荐, 收藏, 编辑
摘要:Go实现:package mainimport "fmt"func main() { Hanoi(3, 'A', 'B', 'C')}func Hanoi(n int, x, y, z rune) { if n == 0 { //nothing to do } else { Hanoi(n-1, x, z, y) fmt.Printf("%c->%c,", x, y) Hanoi(n-1, z, y, x) }}C实现:#include <stdio.h>#include <stdl 阅读全文

临时禁用自增列插入数据

2013-01-15 11:03 by Danny.tian, 340 阅读, 0 推荐, 收藏, 编辑
摘要:SET IDENTITY_INSERT [TableName] ON --停用自增列 INSERT INTO [tableName](自增字段,其他字段,......) values(自增数字,其他字段值)SET IDENTITY_INSERT [TableName] OFF --恢复自增列 阅读全文

Go开源项目 - goconfig源代码浅析

2013-01-14 09:46 by Danny.tian, 3967 阅读, 2 推荐, 收藏, 编辑
摘要:如果你还不知道怎么使用goconfig可以先看看Go开源项目 - goconfig 使用方法.config.gogoconfig的主文件, 首先定义了一些要是用的常量如"DEFAULT" section, 注释字符"#"和";", 分隔符":"或"=".定义了boolString字典用于方法获取bool值时使用, "t","true","y","yes"都会被转换成true, "no"," 阅读全文

SublimeGDB调试Golang

2013-01-11 17:45 by Danny.tian, 1984 阅读, 1 推荐, 收藏, 编辑
摘要:下载SublimeGDB在sublime text 2 中 Install Package ->SublimeGDB重启Sublime Text 2修改 workingdir 为工程所在目录,修改 commandline中executable为可执行文件名,如"workingdir": "${home}/gocode/bin","commandline": "gdb --interpreter=mi --args ./revel run myapp"常见命令:Launch with F5Step over w 阅读全文

go get code.google.com 没有反应

2013-01-11 14:59 by Danny.tian, 851 阅读, 0 推荐, 收藏, 编辑
摘要:$cd$GOROOT/src/cmd/go$vimvcs.go#将里面https://code.google.com改为http://code.google.com$goinstall$gogetcode.google.com/xxx 阅读全文

Go代码转到定义功能

2013-01-11 14:17 by Danny.tian, 611 阅读, 0 推荐, 收藏, 编辑
摘要:1. 安装ctagssudo apt-get install exuberant-ctags2. 添加 ~/.ctags文件,内容如下:--langdef=Go--langmap=Go:.go--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/3. 在sublime text 2中安装CTAGS 阅读全文

GDB 调试Golang常用命令及方法(备忘)

2013-01-11 11:51 by Danny.tian, 5895 阅读, 0 推荐, 收藏, 编辑
摘要:gdb [options] --args executable-file [inferior-arguments ...]l - 相当于list命令,l 37显示37行附近的源码b 行号,b 37 if i==3b 函数名.函数名i b - 查看全部断点信息d - 删除所有断点d 0 - 删除第0个断点display a - 一直显示a的值undisplay - 去掉所有显示watch addr - 监控addr内存s - step的意思进入函数进行跟踪j 37 - 直接跳到37行运行u - 将循环执行完p a - 打印a的值p a=3 - 设置a的值,p (*(mystruct *)addr 阅读全文

Go开源项目 - goconfig 使用方法

2013-01-11 10:24 by Danny.tian, 4483 阅读, 1 推荐, 收藏, 编辑
摘要:goconfig是Revel用到的一个开源工具, 它实现了一个基础的配置文件解析器语言, 它的结构类似于微软的Windows INI文件.配置文件由几部分组成, 由"[section]"做头部紧接着"name:value"键值对, 也可以用"name=value". 注意空格将被从values中删除. 在相同的section可选的value能包含涉及其他values格式化字符串, 或values在一个特殊的DEFAULT部分. 另外defaults可以在初始化和检索时被提供. 注释字符时";" 或 "#& 阅读全文