golang 数据类型的转换
【转换】的写法: 1、接口类型 → 普通类型,用 I.(A) //在线测试地址:https://play.golang.org/p/LhEB2qLiMs //I.(A) 只能用在switch里面 2、普通类型 → 普通类型,用 A(B) 3、gob包里面的 Encode 和 Decode //在线测试地址: https://play.golang.org/p/CvTr0vZWvc 【判断】的写法: 4、...阅读全文
【转换】的写法: 1、接口类型 → 普通类型,用 I.(A) //在线测试地址:https://play.golang.org/p/LhEB2qLiMs //I.(A) 只能用在switch里面 2、普通类型 → 普通类型,用 A(B) 3、gob包里面的 Encode 和 Decode //在线测试地址: https://play.golang.org/p/CvTr0vZWvc 【判断】的写法: 4、...阅读全文
here is the code of a struct type Post struct { Id int `db:"id"` Title string `db:"title"` Content string `db:"content"` Create_time int64 `db:"create_time"` } func (p Post) AttrCreatetime() time.Time { ...阅读全文
Hello Go App Engine users, As you may know, the Go developers intend to launch Go 1.1 in the coming weeks. All Go apps will be migrated to use Go 1.1 after its release. We are now providing a beta version of the Go 1.1 runtime for those who wish to ...阅读全文
从https://code.google.com/p/go/downloads/list下载相关包,直接解压 目录大概这样 golang ├── 3rdLibs ├── go ├── liteide ├── myApps └── myLibs 配置环境变量 mac下gvim ~/.profile debian下gvim ~/.bashrc export GOROOT=~/golang/goexport GOPATH=~/golang/3rdLibs:~/golang/myLibs:...阅读全文
2014-05-01 wcdj 最近将gcc-4.8.1升级为gcc-4.9.0,安装方法类似之前文章《在OS X Lion 10.8.4 x86_64平台搭建C++11开发环境》总结的方法。 gcc主页:http://gcc.gnu.org/ GCC 4.9.0 (changes) (docs) Status: 2014-04-22 (regression fixes and docs only). Serious regressions. All regressions. ...阅读全文
package main import ( "fmt" "net" ) func main() { exit := make(chan bool) ip := net.ParseIP("127.0.0.1") addr := net.TCPAddr{ip, 81} ...阅读全文
今天尝试了一下使用go语言中的反射来将struct类型转换成xml,结果相当纠结。首先去看了一下go的reflect包的实现,根据go的规则,首先应该去看一个NewXXX的方法,结果发现了一个叫NewValue的方法,通过这个方法我们能够得到一个Value接口。另外我们还应该注意到,go的反映实现中将Type和Value分开了,于是还有另外一个接口Type. type Value interface { // Type returns the value's type. Type...阅读全文
内存,内存中的变量和指针 http://golangtutorials.blogspot.jp/2011/06/memory-variables-in-memory-and-pointers.html How does reflection work internally? https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/NYs7L5UvSHo 很好的一篇讲runtime的文章(必看) http://p...阅读全文
Go语言通过testing包提供自动化测试功能。包内测试只要运行命令 go test,就能自动运行符合规则的测试函数。 Go语言测试约定规则 1.一般测试func TestXxx(*testing.T) 测试行必须Test开头,Xxx为字符串,第一个X必须大写的[A-Z]的字幕 为了测试方法和被测试方法的可读性,一般Xxx为被测试方法的函数名。 2.性能测试func BenchmarkXxx(*testing.B) 性能测试用Benchmark标记,Xxx同上。 3.测试文件名约定 ...阅读全文
package main import ( "encoding/json" "fmt" "os" ) type ConfigStruct struct { Host string `json:"host"` Port int `json:"port"` AnalyticsFile string `json:"analytics_file"` StaticF...阅读全文
Go语言(golang)第一个正式版Go1发布了,但是这个新兴的编程语言还是非常不完善。这不,我(Liigo)又发现它的编译器竟然不支持编译带BOM的UTF-8编码的.go源文件。这就很奇怪,该语言明明要求源代码文件.go必须是UTF-8编码,但有不允许带UTF-8 BOM。要知道,这个世界上带BOM的文件太多了,很多文本编辑器/代码编辑器/IDE都会默认生成带有BOM的UTF-8文件。如果仅仅因为源代码文件多了BOM,编译器将不能编译这个文件,我觉得它太低能了。 Go语言编译器(gc)不支持...阅读全文
用golang写了个仿AS3写的ByteArray,稍微有点差别,demo能成功运行,还未进行其他测试 主要参考的是golang自带库里的Buffer,结合了binary 来看看demo: 1 package main 2 3 import ( 4 "tbs" 5 "fmt" 6 ) 7 8 func main() { 9 var ba *tbs.ByteArray = tbs.CreateByteArray([]byte{}) 10 11 ...阅读全文
进入 golang 安装目录 例如 cd /usr/local/go/src sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash sudo CGO_ENABLED=0 GOOS=linux GOARCH=386 ./make.bash sudo CGO_ENABLED=0 GOOS=linux GOARCH=arm ./make.bash sudo CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 ./make...阅读全文
本文章地址:http://blog.csdn.net/hengyunabc/article/details/7371446 2012-03-31:新版的goclipse改进很大,本文有些内容已过时。 1.下载go的windows下的安装包: https://code.google.com/p/go/downloads/list 也可以下载源代码,用MinGW编译。先配置好MinGW的环境,再运行all.bat即可。 MingW:http://www.mingw...阅读全文
使用.NET的 BlockingCollection<T>来包装一个ConcurrentQueue<T>来实现golang的channel。 代码如下: public class Channel<T> { private BlockingCollection<T> _buffer; public Channel() : this(1) { } public Channel(int size) { _buffer = new BlockingCo...阅读全文
起因ledisdb是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持。我们现在的应用极大的依赖redis,但随着我们用户量越来越大,redis的内存越来越不够用,并且replication可能还会导致超时问题。虽然后续我们可以通过添加多台机器来解决,但是在现有机器配置下面,我们仍希望单台机器承载更多的用户。另外,因为业务的特性,我们其实并不需要将所有的数据放到内存,只需要存放当前活跃用户。经过...阅读全文