golang reflect

这个程序看到几点: 1 TypeOf和ValueOf是获取Type和Value的方法 2 ValueOf返回的<float64 Value>是为了说明这里的value是float64 3 第三个b的定义实现了php中的string->method的方法,为什么返回的是reflect.Value[]数组呢?当然是因为Go的函数可以返回多个值的原因了。 package main import( "fmt" "reflect" ) type MyStruct struct{ name str...阅读全文

开源中国博客 2014-08-12 10:49 千山万水

golang https

Go支持https协议的简单例子 我们知道除了http方式访问网页之外,还有一种加密的https方式。Go语言的net/http包中包含了这种https页面访问方式的支持。net/http包中的ListenAndServeTLS就是提供这个功能的。我们可以先看一下这个函数的原型。 func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error 从上面的函数原型我们可以...阅读全文

开源中国博客 2014-09-11 20:25 flyking

golang坑

1.新建文件后再删除失败,提示文件正在被另一程序使用中(The process cannot access the file because it is being used by another process.) func main() { NewConfigIni() DeleteConfigTemp() } func DeleteConfigTemp() { path := "time.ini" err := os.Remove(path) //如果文件不存在时执行会...阅读全文

开源中国博客 2014-09-23 14:14 陈好

golang学习的点点滴滴:匿名字段

定义一个struct,定义的时候是字段名与其类型一一对应,实际上Go语言支持只提供类型,而不写字段名的方式,也就是匿名字段,或称为嵌入字段。 当匿名字段是一个struct的时候,那么这个struct所拥有的全部字段都被隐式地引入了当前定义的这个struct。 让我们来看一个例子,让上面说的这些更具体化。 package main import "fmt"   type Human struct {     name string     age int     weight i...阅读全文

开源中国博客 2014-09-29 22:09 亓斌哥哥

Sublime Text 给golang 加点料。自定义build

如果你用的时windows , 请自觉忽略, linux && mac 通用。 Sublime Text 有个 gosublime ,用来提供golang的语法解析以及提示什么的。 说实话,我一直想要一个匹配自己开发环境的编译器, 不用来回切换到命令行去build 自己的代码。 先说,我的项目目录是这样的: project/ project/build project/package1 project/package2 每个目录都是独立的, 编译结果需要放到build 目录下。如果手动执行, 可...阅读全文

开源中国博客 2013-08-21 13:34 Able

golang学习的点点滴滴:并发超时处理

golang并没有在语言层次上提供超时操作,但可以通过一些小技巧实现超时。 原理: 并发一个函数,等待1s后向timeout写入数据,在select中如果1s之内有数据向其他channel写入则会顺利执行,如果没有,这是timeout写入了数据,则我们知道超时了。 package main  import "fmt" import "time" func main() { ch := make(chan int, 1) timeout := make(chan bool, 1) ...阅读全文

开源中国博客 2014-10-01 10:41 亓斌哥哥

Linux debian 上面使用七牛云存储,开发golang程序。(1)

想写点golang的程序,暂时没钱租服务器。 发现七牛支持golang开发。打算尝试下: 我的系统是debian。windows应该类似: 以前有开发googleappengine的经验。七牛也有类似的命令行,不过没有界面。 需要使用 qrsync 命令行辅助工具,  地址:http://docs.qiniutek.com/v3/tools/qrsync/ 有意思的是这个命令行工具是用golang开发的。所以支持多个操作系统。windows,l...阅读全文

开源中国博客 2012-12-21 00:34 freewebsys

golang 反射, 诡异的数据类型。 Type.Tag

最近再实现一些功能, 用到了protobuf 还有 xml 。从他们书写的类型或是测试用例中, 看到了大量这样的数据结构: type Person struct { Name string `xml:"name"` URI string `xml:"uri,attr"` Email string `xml:"email,omitempty"` InnerXML string `xml:",innerxml"` } 源码可以见xml/marshal_test.go http://golang.or...阅读全文

开源中国博客 2013-05-17 00:54 Able

gofn: golang 控制台源代码查询工具

golang作为开源项目,查询源代码,查看其具体实现及查看其包、函数的使用方法是非常常见的事情。 本人作为一名golang初学者,经常要查看源代码,经常要经过很多路径,最终打开了,可是花费的时间非常多,尽管目前无闻大神的gowalker提供了帮助,但是1.无网络情况下2.有网络的情况下,还是步骤多。3.初学者要查看高手的写法也是困扰我的一个方面。 故自己写了一个gofn,地址:https://github.com/eruca/gofn 还在改善...阅读全文

开源中国博客 2014-03-23 07:05 _毛虫

golang在ubuntu-12.04和centos-6.5上的安装

golang官方编译器安装与配置 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的 $ sudo apt-get install bison gawk gcc libc6-dev make 安装mercurial工具,目的使用hg命令来提取golang的源代码 $ sudo apt-get install mercurial 代取提取,如果您的网速比较慢的话,此步要多花点时间,我是在/home目录下运行下面命...阅读全文

开源中国博客 2013-08-28 22:35 壬癸甲乙

数据结构-(队列顺序存储)循环队列的实现(golang)

import ( "errors" ) //循环队列结构体(顺序存储) type CirularQueue struct { elem []ElemType //储存的数据 front int //头指针 rear int //尾指针 } //初始化循环队列 func InitCQueue() *CirularQueue { cqueue := new(CirularQueue) cqueue.elem = make([]ElemType, MAXSIZE) cqueue.front = 0 c...阅读全文

新浪博客 (2016-01-11 16:23:50) 卑微了承诺-life

初识golang之数组,slice,map学习

数组: 定义方式:var arr [n]type,n表示数组的长度,type表示存储元素的类型。定义好后,可以使用arr[0] = 42,这样指定下标来进行数组的读取和赋值。 注意:在go中长度也是类型的一部分,因此[3]int和[5]int是不同类型的。 go中数组不可以改变长度,数组之间的赋值是值的拷贝赋值,即当把一个数组作为一个参数传人函数的时候,传入的其实是数组的备份。arr := [10]int{1,2,5:6},da := [2][4]int{[4]int{1,2...阅读全文

开源中国博客 2013-08-22 23:44 vcity

golang在线编译+下载服务 建站之路

网站建立起源 http://build.golangtc.com 一开始我是想找一个网站,只要告诉它我的github地址,它就能把代码编译好,然后把代码给打包,给我一个下载地址。这样分享给朋友也很方便。 先是问了问谢大建的GoWeb交流群,有没有网站提供这样的功能,结果是没有。当时脑子一热,我就回了句:”既然没有我就自己写一个吧”。男人说话一定要算话嘛,然后就噼里啪啦的编码啦 #¥%……&*(。 调研编码 过去一直用drone.io,偶尔也用travis。不明白这两个NB的站为什么没有提...阅读全文

开源中国博客 2014-01-12 10:56 go-skyblue