golang图片式水印处理
//golang图片式水印处理 //未实现Web上传等代码... //sam //2013.6.19 //http://zituo.net package main import ( "fmt" "image" "image/draw" "image/jpeg" "image/png" "os" ) func main() { //原始图片是sam.jpg imgb, _ := os.Open("sam.jpg") ...阅读全文
go 时间格式风格详解
一段代码 这里有一段代码 play 更能解说 layout. 可以看出, go 自动识别并转换 time 字符串是完全可能的. time package go 的time package 提供了time.Format函数,用来对时间进行格式化输出。 类似的还有time.Parse用来解析字符串类型的时间到time.Time。这是两个互逆的函数。 问题是,go 采用的格式化 layout 和我们以往所用的任何经验都不同。以至于初次接触总是一头雾 水。 其实 go 提供的这个 layo...阅读全文
利用golang的反射包,实现根据函数名自动调用函数。
package main import "fmt" import "reflect" import "encoding/xml" type st struct{ } func (this *st)Echo(){ fmt.Println("echo()") } func (this *st)Echo2(){ fmt.Println("echo--------------------()") } var xmlstr string=`<root> <func>Echo</f...阅读全文
安装golang的mongodb驱动mgo速记
这里介绍的方法只适用于Centos平台,测试版本为centos 6.5 下载源码安装实在麻烦,这里采用比较简单的方法给GO安装mongodb驱动 安装mgo之前,需要先安装bzr yum -y install bzr 安装完成后,执行如下命令: go get labix.org/v2/mgo 成功后什么内容也不显示,没有出错提示,表示安装成功。 详细使用教程:http://labix.org/mgo阅读全文
golang 实现微信公众平台API引擎开发模式
/* *@author 菠菜君 *@Version 0.2 *@time 2013-10-29 *@golang实现微信公众平台API引擎开发模式 *@青岛程序员 微信订阅号 qdprogrammer *@Golang 微信订阅号 gostock *@关于青岛程序员的技术,创业,生活 分享。 *@开源 https://github.com/philsong/ */ package main import ( "crypto/sha1" "encoding/xml" "f...阅读全文
golang操作mysql数据库示例代码
使用了github.com/go-sql-driver/mysql驱动。go在database/sql中实现了连接池,所以每次操作数据库,重复打开关闭即可。 1 package main 2 3 import( 4 "database/sql" 5 _ "github.com/go-sql-driver/mysql" 6 "fmt" 7 ) 8 9 type User struct{ 10 Id int 11 UserNam...阅读全文
golang的slice作为函数参数传值的坑
直接贴代码 func sliceModify(slice []int) { // slice[0] = 88 slice = append(slice, 6) } func main() { slice := []int{1, 2, 3, 4, 5} sliceModify(slice) fmt.Println(slice) } 返回的没变,坑爹的,这个设计太那啥了,可以正确跑出效果的版本如下: func sliceModify(slice *[...阅读全文
golang RPC使用
github:https://github.com/ZhangzheBJUT/blog/blob/master/golang_rpc.md 一 HTTP RPC 服务端代码 package main import ( "errors" "fmt" "net/http" "net/rpc" ) const ( URL = "192.168.2.172:12981" ) type Args struct { A, B int } type Quotient stru...阅读全文
sublime text 配置golang开发环境
一、准备工作: 1、下载Go语言包: https://code.google.com/p/go/downloads/list 2、下载Git: https://code.google.com/p/msysgit/downloads/list 3、下载Sublime 2:http://www.sublimetext.com/2 二、安装: 1、安装go(一路next),他会自动帮你配置环境变量 2、安装sublime(一路next) 3、安装git(一路next) 三...阅读全文
为vim配置go开发环境
时至今日,go开发进入了慢而稳步发展的阶段,所以一些可用的IDE也应时而生,例如LiteIDE,IntelliJ的Golang插件等,不过我现在在某种环境下还只能使用vim,所以特此记录一下。 其实在vim下配置的简单开发环境也挺简单的,把一下语句加入到~/.vimrc下即可: filetype off filetype plugin indent off set runtimepath+=$GOROOT/misc/vim filetype plugin indent on synta...阅读全文
golang mysql 字符串插入错误
Incorrect string value: '\xEF\xBF\xBD\xEF\xBF\xBD...' 报这个错,基本是编码问题,检查一下表的编码 show create table table_name; 比如问题就出在字符集 | gosignal | CREATE TABLE `gosignal` ( `id` int(11) DEFAULT NULL, `time` varchar(30) DEFAULT NULL, `IMSI` varchar(25) DEFAULT N...阅读全文
golang中的defer panic recover
大家都知道golang里的panic相当于其他语言里的throw,而recover相当于其他语言里的cacth,可是由于golang的recover机制要求必须在defer的函数里才能执行catch panic 大概意思如下 func protect(g func()) { defer func() { log.Println("done") // Println executes normally even if there is a panic if x := recove...阅读全文
golang 格式化时间为字符串
package main import ( "fmt" "reflect" "time" ) func main() { //格式化字符串为时间 test, _ := time.Parse("2006-01-02", "2013-11-11") //时间增加 after, _ := time.ParseDuration("15m") fmt.Println(test) test = test.Add(after) ...阅读全文
Golang 使用FreeType-go进行字体
FreeType库(http://www.freetype.org/)是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。 freetype-go就是用go语言实现了FreeType驱动。它的项目地址: https://code.google.com/p/freetype-go ...阅读全文
golang之void*类型可变数组例子
package main import ( "fmt" ) type TestStruct struct { aa string name string } type Object interface{} func main() { array := []Object{} a := TestStruct{} a.aa = "aaaa" a.name = "name" array = append(array, 1) ...阅读全文
golang 面向对象
method的语法如下: func (r ReceiverType) funcName(parameters) (results) 下面我们用最开始的例子用method来实现: package main import ( "fmt" "math" ) type Rectangle struct { width, height float64 } type Circle struct { radius float64 } func (r Rectangle...阅读全文
golang之分模块导包例子
liteIde建立sample工程,目录自定 我这边工程叫myTest,目录结构如下 ├── doc.go ├── main.go └── mm ├── a.go └── b.go main.go package main import ( "./mm" ) func main() { mm.Mm() } a.go package mm import ( "fmt" ) func Mm() { zz() fmt.P...阅读全文
golang ODBC 访问access数据库
最近项目需要,需要操作access,以前是用VC++ OLE访问,网络用ACE库,感觉很庞大。。。决定用go试试 网上用的最多的就是这个https://github.com/weigj/go-odbc 安装方式如下: ODBC database driver for Go Install: cd $GOPATH/src git clone git://github.com/weigj/go-odbc.git odbc cd odbc go install 测试时碰到好...阅读全文
go package学习——io/util
package io/util实现了一些io效用函数。 Index Variables func NopCloser(r io.Reader) io.ReadCloser func ReadAll(r io.Reader) ([]byte, error) func ReadDir(dirname string) ([]os.FileInfo, error) func ReadFile(filename string) ([]byte, error...阅读全文