最近开始认真(I mean serious)用Go语言,并加入42区^_
2010-12-13 00:00
337 查看
一般大家都是看看http://golang.org/的文章就算罢了,但真正的coder要在实践编码中找到自信。
所以区区下载了https://github.com/andrebq/goscript上的goscript,并通过修正,使之
实现正确的参数传递,并且不用那恶心的comment实现,省得每次编辑器都提示文件被修改。
关键的实现是个叫isource()的函数,用以替代goscript原有的comment():
func isource(dst , src string) { file1, err := os.Open(src, os.O_RDONLY, 0) if err != nil { error(fmt.Sprintf("Can't open %s", src)) } defer file1.Close() os.Remove(dst) file2, err := os.Open(dst, os.O_WRONLY | os.O_CREAT, 0644) if err != nil { error(fmt.Sprintf("Can't open %s", flag.Args()[1])) } defer file2.Close() bufFile1 := bufio.NewReader(file1) bufFile2 := bufio.NewWriter(file2) defer bufFile2.Flush() head, _ := bufFile1.ReadString('/n') if len(head) >= 2 && head[0:2] != "#!" { //error("First Line: " + head) bufFile2.WriteString(head + "/n") } io.Copy(bufFile2, bufFile1) }
进一步的,我发现golang主页上的tag生成工具没一个可以实现在最近版的go上编译,无奈再次使用强大的ctags regex语法:
#!/bin/sh ctags --exclude=*_test.go --langdef=go --langmap=go:.go --regex-go="/^func //([^)]+//)/s+(/w+)//1/i" --regex-go="/^func/s+(/w+)//1/i" -Re $*
go和emacs是区区在42区的标签
之一。
欢迎一起交流。
相关文章推荐
- go语言在请求http时加入自定义http header的方法
- 调查显示:越来越多的开发者开始使用 Go 语言
- go语言(一)开始
- 您是从何时开始关注 Go 语言?是什么原因促使你们团队决定使用 Go 语言?以及是什么原因促成了《Go语言编程》这本书呢?
- go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )
- go语言:开始学习~
- go语言 环境搭建
- Go语言设计模式实践:迭代器(Iterator)
- 神奇的go语言(高级应用)
- Go语言之数组
- 5张图看尽Go语言GC的演变史
- Go 语言中的 new() 和 make()的区别
- 【Go语言】【4】GO语言类型和为类型增加方法 推荐
- go语言十大排序算法总结(下篇)
- Go语言入门
- go语言定时器
- go语言版的ip2long函数实例
- Go语言中的方法(Method Sets)
- Go语言实现的web爬虫实例