Ricky

链接

RSS

RSS Link

Slice和Array声明的不同

2012年5月18日 14:14 | Comments(0) | Category:Go | Tags:

 

        [3]int{1, 2, 3},          //array 数组,确定数组长度
        [...]int{1, 2, 3},         //array 数组,由编译器自动计算数组长度。

        []int{1, 2, 3},            //slice 切片
        []int{1, 2, 3}[:],         //切片再切还是切片

        int{1, 2, 3}[:],           //数组切一下,切出个 slice切片

注意直接声明slice,[]中没有具体数值,而声明数组的时候要么有具体数字,要么用...让编译器自行计算.也可以这样标准的声明slice:

        v := make([]int, 3, 10);  //一个slice,有三个参数 类型、slice长度、slice底层的array长度,即slice的最大容量。

Vim color scheme for go

2012年5月16日 14:31 | Comments(1) | Category:Vim | Tags:

http://www.vim.org/scripts/script.php?script_id=2681

针对go语言做了些调整,简洁的小清新风格

Gocode不能弹出补全菜单的问题

2012年5月02日 14:22 | Comments(1) | Category:Vim | Tags:

找了好久终于找到问题所在,go程序缺少package这一行,gocode就不能弹出补全菜单.

看来没有package,import在gocode中就视为无效,这样就没法查找import的package进而补全了

在Vim中调用Go编译程序,并将错误用quickfix定位

2012年4月28日 21:27 | Comments(9) | Category:Vim | Tags:

配置go文件对应的compiler, 在ftplugin/go.vim加入一行:

compiler go

配置编译程序和quickfix读入编译结果的格式, 在$VIMRUNTIME/compiler新建go.vim并加入如下行:


" Vim compiler file
" Compiler:     go
" Maintainer:   Ricky Wu <rickywu1113 at gmail dot com>
" URL:          richiewu.i11r.com               
" Last Change:  2012 May 2

if exists("current_compiler")
  finish
endif
let current_compiler = "go"

let s:cpo_save = &cpo
set cpo-=C

if exists(":CompilerSet") != 2          " older Vim always used :setlocal
  command -nargs=* CompilerSet setlocal <args>
endif

"Compiler program
CompilerSet makeprg=go\ build

"Compiler error format for go build
CompilerSet errorformat=%f:%l:%m

let &cpo = s:cpo_save
unlet s:cpo_save

这样:make命令将会编译当前文件并用quickfix打开错误列表以定位错误行。

搭建基于Vim的Go IDE

2011年12月28日 15:59 | Comments(4) | Category:Vim | Tags:

第一步当然是安装Go的编译环境了:http://golang.org/doc/install.html

安装好之后复制官方支持的脚本:go/misc/src/vim下的文件到$VIMRUNTIME,也可以从这里获取最新版本:https://github.com/jnwhiteh/vim-golang


这样基本就能高亮语法和自动完成了,如果想要更多的自动完成功能,可以安装这个基于服务器和客户端的自动完成程序,据说速度很快:

https://github.com/nsf/gocode

 

如果遇到错误需要打补丁:https://github.com/nsf/gocode/issues/60

如果需要设置Neocomplcache的自动补全,需要手动设置补全提示符:

let g:neocomplcache_omni_patterns.go = '\h\w*\.'

这样输入.后会自动弹出全能补全菜单. 正则表达式'\h\w*\.'用于设置提示符,在这之后将调用gocode根据前面的输入查找补全.

搬家了,这里就是的新家

2011年12月28日 15:52 | Comments(6) | Category:Other | Tags:

鉴于CSDN泄密,我也懒得找回密码,只好把以前的文章搬过来了.

懒得把以前的文章都搬过来了,尝试搬家也失败了,提供原文地址: CSDN