Tag: Golang

Golang 数值型字符串比较大小

Jackey Golang 9,127 次浏览
代码: [codesyntax lang="c"] package main import ( "fmt" ) func main() { var str1 = "2" var str2 = "11" fmt.Println(str1 < str2) str1 = "02" str2 = "11" fmt.Println(str1 < str2) } [/c...

go get 使用时的附加参数

Jackey Golang 3,007 次浏览
使用 go get 时可以配合附加参数显示更多的信息及实现特殊的下载和安装操作 [table id=2 /]  

Golang 插件式开发

Jackey Golang 5,730 次浏览
接口定义: [codesyntax lang="c"] package testPlugin type PluginFunc interface { Hello() World() } type Plugins struct { Plist map[string]PluginFunc } func (p *Plugins) Init() { p.Plist = make(m...

Golang recover捕获panic异常

Jackey Golang 2,636 次浏览 , ,
[codesyntax lang="c"] package main import ( "fmt" ) func test() int { defer func() { err := recover() if err != nil { fmt.Println(err) } }() var a int = 10 var b int = 0 return a/b } ...

Golang 闭包最佳实践

Jackey Golang 2,828 次浏览 ,
[codesyntax lang="c"] package main import ( "fmt" "strings" ) // 构建闭包,判断传入的 name 是否包含 suffix 后缀,如果不包含,则添加后缀 // 如果包含,则直接返回 name func dealSuffix(suffix string) func(st...

Golang服务的文件句柄超出系统限制(too many open files)

Jackey Golang 5,341 次浏览 ,
最近在项目中遇到一个很奇怪的问题,因为修改配置(redis中缓存的),nginx服务突然报upstream timed out (110: Connection timed out),然后去查为什么会出现这样的问题,发现出问题的服务是一个golang的http server,查看程序日志,...

Golang 推送消息到 kafka(生产者)

Jackey Golang 4,232 次浏览 ,
配置相关依赖包: [codesyntax lang="bash"] mkdir -p $GOPATH/src/golang.org/x cd $GOPATH/src/golang.org/x git clone https://github.com/golang/net.git git clone https://github.com/golang/crypto.git go get github....

Golang设计模式之单例

Jackey Golang 3,081 次浏览 , ,
懒汉模式 这种方式实现起来特别简单,直接判断一个实力是不是为nil, 如果是,则新生成;否则返回已有的。但它和多数语言一样,只适合用在单线程。 [codesyntax lang="c"] type SingleTon struct { } var instance *SingleTo...

Go语言之HTTP

Jackey Golang 2,389 次浏览 ,
Go语言标准库内建提供了net/http包 处理HTTP请求 使用 net/http 包提供的 http.ListenAndServe() 方法,可以在指定的地址进行监听, 开启一个HTTP,服务端该方法的原型如下: func ListenAndServe(addr string, handler Handler)...

Go语言之JSON和MD5

Jackey Golang 3,201 次浏览 , ,
JSON Go语言内置的encoding/json 标准库 插件:github.com/pquerna/ffjson JSON编码:func Marshal(v interface{}) ([]byte, error) JSON解码:func Unmarshal(data []byte, v interface{}) error [codesyntax lang="c"]...

Go语言并发编程

Jackey Golang 3,230 次浏览 , ,
协程 与传统的系统级线程和进程相比,协程的大优势在于其“轻量级”,可以轻松创建上百万个而不会导致系统资源衰竭,而线程和进程通常多也不能超过1万个。这也是协程也叫轻量级线程的原因。 goroutine--Go对协程的实现 : go + ...
Go