无坑安装使用godep(go语言第三方依赖管理)

安装godep 官方的安装文档是使用go get github.com/tools/godep,很可惜,因为“网络”问题会报一个找不到golang.org/x/tools/go/vcs的错误。 而https://github.com/golang/tools 是 golang.org/x/tools的一个镜像,代码是一样的,所以我是如下安装的。 go get github.com/golang/tools 在GOPATH\src\github.com目录下就有tools文件夹。 在src下和gi...阅读全文

2014-12-31 16:42 wiselyman
阅读:23845 评论:0

Golang 简单理解Channel

什么是channel? channel是Go语言在语言级别提供的goroutine间的通信方式。我们可以使用channel在两个或 多个goroutine之间传递消息。channel是进程内的通信方式,因此通过channel传递对象的过程和调用函数时的参数传递行为比较一致,比如也可以传递指针等。如果需要跨进程通信,我们建议用 分布式系统的方法来解决,比如使用Socket或者HTTP等通信协议。Go语言对于网络方面也有非常完善的支持。 channel是类型相关的。也就是说,一个channel只能传...阅读全文

2015-02-09 11:25 未来还没来
阅读:26656 评论:2

Golang redis 操作初体验

安装 我使用的是 https://github.com/go-redis/r... 这个 golang 客户端, 因此安装方式如下: go get gopkg.in/redis.v4 接着在代码中导入此包即可: import "gopkg.in/redis.v4" 基本操作 创建客户端 通过 redis.NewClient 函数即可创建一个 redis 客户端, 这个方法接收一个 redis.Options 对象参数, 通过这个参数, 我们可以配置 redis 相关的属性, 例如 redis 服...阅读全文

2016年10月06日发布 永顺
阅读:4863 评论:0

golang 逐行读取文件

package main import ( "bufio" "fmt" "io" "os" ) func main() { fi, err := os.Open("C:/Documents and Settings/xxx/Desktop/tax.txt") if err != nil { fmt.Printf("Error: %s\n", err) return } defer fi.Close() br := bufio.NewReader(fi) for { a, _, c := br.R...阅读全文

2015-04-06 14:07 rojas
阅读:19694 评论:0

golang fmt.printf()

package main import "fmt" import "os" type point struct { x, y int } func main() { //Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。 p := point{1, 2} fmt.Printf("%v\n", p) // {1 2} //如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名。 fmt.Printf("%+v\n", p) // {x:...阅读全文

2015-04-20 11:02 benlightning
阅读:41808 评论:0

golang中image/jpeg包和image/png包用法

jpeg包实现了jpeg图片的编码和解码 func Decode(r io.Reader) (image.Image, error) //Decode读取一个jpeg文件,并将他作为image.Image返回 func DecodeConfig(r io.Reader) (image.Config, error) //无需解码整个图像,DecodeConfig变能够返回整个图像的尺寸和颜色(Config具体定义查看gif包中的定义) func Encode(w io.Writer, m imag...阅读全文

2015-01-16 19:24 chenbaoke
阅读:18137 评论:0

golang make()内置函数

内建函数 make 用来为 slice,map 或 chan 类型分配内存和初始化一个对象(注意:只能用在这三种类型上),跟 new 类似,第一个参数也是一个类型而不是一个值,跟 new 不同的是,make 返回类型的引用而不是指针,而返回值也依赖于具体传入的类型 make()函数在golang的代码如下: func make(t Type,size IntegerType) Type 使用make来创建slice,map,chanel说明如下: slice: var slice_ []int...阅读全文

2015-03-26 23:34 happinessaflowe 等
阅读:8812 评论:1

golang中image包用法

image包实现了一个基本的2D图像库,该包中包含基本的接口叫做image,这个里面包含color,这个将在image/color中描述, image接口的值创建方式有如下几种: 1调用NewRGBA和NewPaletted 2解码一个包含gif.jpen或者png格式的image数据的io.Reader 首先介绍一些image接口 type Image //image是一个从颜色模型中采取color.Color的矩形网格 type Image interface { ColorModel() ...阅读全文

2015-01-16 20:33 chenbaoke
阅读:16766 评论:0

golang中container/list包用法

list是一个双向链表。该结构具有链表的所有功能。 type Element type Element struct { Value interface{} //在元素中存储的值 } func (e *Element) Next() *Element //返回该元素的下一个元素,如果没有下一个元素则返回nil func (e *Element) Prev() *Element//返回该元素的前一个元素,如果没有前一个元素则返回nil。 type List func New() *List //返...阅读全文

2015-01-16 19:25 chenbaoke
阅读:36444 评论:0

golang之flag.String

无论是c语言还是golang语言或是其他语言,启动应用程序时都可以带一些参数,然后系统根据传入的参数进行特点的工作。如:./main -b /home/backupdir -d true 那么如何更好的解析这些参数呢?前两周自己做项目时是通过 range os.Args 来解析这些参数。今天看到了 flag.String 这个方法,感觉之前做的好傻,觉得更应该用golang自带的flag.String来解析参数。 1 package main 2 3 import ( 4 "flag" 5 "f...阅读全文

阅读:10532 评论:1

go语言常用函数:cap

cap()函数返回的是数组切片分配的空间大小。//http://www.cnblogs.com/osfipin/. package main import "fmt" func main() { mySlice := make([]int, 5, 10) fmt.Println("len(mySlice):", len(mySlice)) fmt.Println("cap(mySlice):", cap(mySlice)) } 该程序的输出结果为: len(mySlice): 5 cap(myS...阅读全文

2015-07-27 17:23 osfipin
阅读:17003 评论:1

golang-otto JS解释器

otto是一个Go语言实现的JavaScript 解释器 otto是一个Go语言实现的JavaScript的语法分析器和解释器 1 2 3 import( "github.com/robertkrimen/otto" ) 在虚拟机中运行一些代码 1 2 3 4 5 vm := otto.New() vm.Run(` abc = 2+ 2; console.log("The value of abc is " + abc);// 4 `) 从虚拟机中获取一些值 1 2 3 value, err :...阅读全文

阅读:9366 评论:0

beego增删改查代码实现

记录下使用beego的增删改查实现,数据库使用mysql,完整代码如下: package main import ( _ "crud_beego/routers" //自动注册路由 "fmt" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) const ( DRIVER_NAME = "mysql" DATA_SOURCE = "root:123456@t...阅读全文

2016-06-04 23:07 caiya928
阅读:5396 评论:1

原 用go实现跨平台Autoit和按键精灵功能示例代码

Robotgo v0.40.0对鼠标键盘操作进行了大幅度的完善,由于跨平台切换测试麻烦(合并几个平台的代码到对比上传代码都浪费了不少时间)和C代码生产效率与Go和JavaScript不在一个级别上,没有支持窗口和进程对应窗口的选择和Bounds,将在下一个版本完善,键盘操作可能在某些输入法上有些问题请切换到系统输入法(目前优先完成窗口句柄的问题,后面会解决该问题). 项目地址:https://github.com/go-vgo/robotgo OSC@GIT:https://git.oschin...阅读全文

阅读:1549 评论:0

glang文件读写

go文件的相关操作函数在os包下,可以查看os包官方文档来学习。 创建文件并写入内容 创建文件和写入需要用到两个函数: func Create(name string) (*File, error) func (f *File) Write(b []byte) (n int, err error) 具体的代码如下: package main import ( "log" "os" ) func main() { file, createErr := os.Create("/Users/dewei...阅读全文

2017-02-18 19:00:36 Simeone_xu
阅读:1032 评论:0