-
golang进程安全退出
所属栏目:[大数据] 日期:2020-12-16 热度:109
转载豆瓣 http://www.douban.com/note/484935836/[详细]
-
go写并发注意事项
所属栏目:[大数据] 日期:2020-12-16 热度:125
转载豆瓣 http://www.douban.com/note/484944487/[详细]
-
go语言的工作空间和GOPATH环境变量
所属栏目:[大数据] 日期:2020-12-16 热度:88
go语言并没有强制一定要使用一定的工作空间和项目结构,对于小型的go程序依靠gorun等命令就可以直接编译运行。然而,保持良好的工作空间和文件结构,对于管理源代码和发布程序都是非常有帮助的。对于大型的go语言项目,工作空间则是一定要的。 1、go语言的工[详细]
-
一个信号量与定时器的例子(Golang)
所属栏目:[大数据] 日期:2020-12-16 热度:189
程序可用来定时执行一些任务,并通过信号量处理,在被强制中断时,也能做相应警告及清理处理. package main//信号量与定时器//author: Xiong Chuan Liang//date: 2015-2-25import "fmt"import "os"import "os/signal"import "time"func main() {sigs := make[详细]
-
golang结合lua进行http业务扩展
所属栏目:[大数据] 日期:2020-12-16 热度:68
源代码可以通过git clonehttps://git.oschina.net/cxwshawn/ornet.git 获取; 1、golang对c提供的接口在sandbox.go中: funcGetURIPath(ptrunsafe.Pointer)*C.charfuncReadBodyData(ptrunsafe.Pointer)(body*C.char,nint)funcWriteData(ptrunsafe.Pointer,da[详细]
-
Go语言错误处理小例子
所属栏目:[大数据] 日期:2020-12-16 热度:177
满屏的error处理会是个悲剧,也不利于对错误进行区分处理。 建议在项目中多用自定义错误,再对错误集中处理。 package main//error处理方式演示//author: Xiong Chuan Liang//date: 2015-2-26import "fmt"import "errors"func main() {errType(test0())errTy[详细]
-
Golang日志--Seelog的简单用法
所属栏目:[大数据] 日期:2020-12-16 热度:61
Golang日志--Seelog的简单用法 原创 2015年02月26日 18:35:27 标签: Go / seelog 4770 Beego自带的log包虽然功能比较完善,但是在日志中会带上日志级别的时间戳,而且这个时间戳还删除不了。 因为项目需要,所以研究了下Golang中其他的日志包,发现seelog正[详细]
-
golang rot13Reader
所属栏目:[大数据] 日期:2020-12-16 热度:71
package mainimport ("io""os""strings")type rot13Reader struct {r io.Reader}func (rot13 rot13Reader) Read(b []byte) (int,error) {n,err := rot13.r.Read(b)for i := 0; i n; i++ {t := b[i]//lower charif t = 97 t = 122 {if 122-t = 13 { b[i] = t[详细]
-
简单的Restful API例子(Golang)
所属栏目:[大数据] 日期:2020-12-16 热度:88
RESTful API 这玩意不用多说了,用Go做了个很简单的例子: 服务端在被调用时返回JSON, 客户端解析得到相关JSON信息. 服务端源码: package main//简单的JSON Restful API演示(服务端)//author: Xiong Chuan Liang//date: 2015-2-28import ("encoding/json""fmt[详细]
-
Go语言实现简单的留言本
所属栏目:[大数据] 日期:2020-12-16 热度:114
做了个简单的留言本用来练习http与template. 主Go代码: package main//Golang版本的留言本//author:Xiong Chuan Liang//date:2015-3-2import ("fmt""html/template""io/ioutil""net/http""os""log")func main() {http.Handle("/images/",http.FileServer(htt[详细]
-
Duang~ Golang 学习初探
所属栏目:[大数据] 日期:2020-12-16 热度:80
Duang~ Golang学习初步体验,一直以来都对Go语言有一定的喜感,今天花了点时间初步的了解了下Go,其实很多东西弄个小例子go run下会明白很多东西的。 本人开发工具使用的是 GoSublime 即在 Sublime Text 2中安装此插件即可 运行Go 程序 请按 ctrl+b 接着输入[详细]
-
golang练习(一)
所属栏目:[大数据] 日期:2020-12-16 热度:63
1. Error package mainimport "fmt"type Error struct {errCode uint8}func (e *Error) Error() string {switch e.errCode {case 1:return "file not found"case 2:return "time out"default:return "unknown error"}}func main() {err := new(Error)err.err[详细]
-
golang 参考
所属栏目:[大数据] 日期:2020-12-16 热度:69
//go game server: https://github.com/xtaci/gonet https://github.com/larspensjo/ephenation-server https://github.com/dyzdyz010/GameServer https://github.com/PokemonUniverse/gameserver https://github.com/eaigner/hood[详细]
-
golang 中的日期时间
所属栏目:[大数据] 日期:2020-12-16 热度:81
Golang 中的日期和时间 包名 time 当前时间 time .Now() 当前时间戳 time .Now().Unix() 时间格式化string .Now().Format( "2006-01-0215:04:05" ) "2006-01-02" ) 时间戳格式化到string str_time := time.Unix(1389058332,0).Format("2006-01-02 15:04:05")[详细]
-
golang技术随笔(二)理解goroutine
所属栏目:[大数据] 日期:2020-12-16 热度:195
进程、线程和协程 要理解什么是goroutine,我们先来看看进程、线程以及协程它们之间的区别,这能帮助我们更好的理解goroutine。 进程 :分配完整独立的地址空间,拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程的切换只发生在内核态,由操作系统调度。[详细]
-
Golang跨平台交叉编译
所属栏目:[大数据] 日期:2020-12-16 热度:196
转载自:http://tonybai.com/2014/10/20/cross-compilation-with-golang/ 上面那篇文章中很详细的说明了如何进行GO的交叉编译,原理也有涉及一些。[详细]
-
[Golang]Golang编程杂记(1)
所属栏目:[大数据] 日期:2020-12-16 热度:195
?? 如何选择web框架: 首先Golang语言开发web项目不一定非要框架,本身已经提供了Web开发需要的一切必要技术。当然如果想要ruby里面Rail那种高层次全栈式的MVC框架, Golang里面暂时没有,但是不是所有人都喜欢这种复杂的框架。Golang里面一些应用层面的技术[详细]
-
[Golang]Coroutine可能存在的死锁
所属栏目:[大数据] 日期:2020-12-16 热度:136
?? 直接上代码: 1. 第一种情况, 如果没有select{}, main 主线程不会等待coroutine运行,导致coroutine得不到机会运行。 You are requesting eventual scheduling (using the two go statements) of two goroutines and then you exit main without giving[详细]
-
[Golang]简单的聊天室实现
所属栏目:[大数据] 日期:2020-12-16 热度:195
?? 最近写了一个chrome的websocket extension,server端用的是Java的Netty框架,后来发现golang 实现websocket 非常简单,高效, 下面是例子, 简单实现了用户登录,广播,相当于聊天室! [plain] view plain copy print ? packagemain import( "code.google.c[详细]
-
[Golang]如何检查内存泄漏(2)
所属栏目:[大数据] 日期:2020-12-16 热度:98
?? (pprof) top Total: 53.0 MB 29.5 55.7% 55.7% 29.5 55.7% reflect.unsafe_NewArray 20.0 37.7% 93.4% 20.0 37.7% encoding/json.(*decodeState).literalStore 2.5 4.7% 98.1% 2.5 4.7% reflect.unsafe_New 0.5 0.9% 99.1% 0.5 0.9% encoding/json.(*Deco[详细]
-
[Golang]如何检查内存泄漏(1)
所属栏目:[大数据] 日期:2020-12-16 热度:59
?? [root@s3 twitter]# go tool pprof http://localhost:6060/debug/pprof/heap --text Read http://localhost:6060/debug/pprof/symbol Fetching /pprof/heap profile from localhost:6060 to /tmp/76z7mNTrzO Wrote profile to /tmp/76z7mNTrzO Adjusting[详细]
-
[Golang]妙用channel
所属栏目:[大数据] 日期:2020-12-16 热度:182
?? channel 是 golang 里相当有趣的一个功能,在我使用 golang 编码的经验里,大部分事件都会是在享受 channel 和 goroutine 配合的乐趣。所以本文主要介绍 channel 的一些有趣的用法。 这里有 Oling Cat 翻译的Go编程语言规范里关于 channel(信道)的描述[详细]
-
[Golang]妙用channel(2)
所属栏目:[大数据] 日期:2020-12-16 热度:119
?? 在 Go 编程语言中,channel 是一个闪耀的特性。它提供了一种强大的、在不使用锁或临界区的情况下,从某个 goroutine 向其他 goroutine 发送数据流的方法。 今天我想讨论关于 channel 的两个重要的特性,这些特性不但使其在控制数据流方面极为有用,而且用[详细]
-
[Golang]也许有你不知道的,Array和Slice(1)
所属栏目:[大数据] 日期:2020-12-16 热度:170
Golang中的array 在golang中,array是同一类型的元素的有序排列,长度不能更改,占用内存上的一段连续空间。 1)基础 首先看看array的声明: [plain] view plain copy print ? varjusticeArray[3]string var justiceArray [3]string 以上声明了justiceArray[详细]
-
[Golang]也许有你不知道的,Array和Slice(2)
所属栏目:[大数据] 日期:2020-12-16 热度:148
Golang中的slice 1)基础 Slice更类似于"其他语言中的array",简单来说,它是一个指向一段数组的指针。 首先看看其声明: [plain] view plain copy print ? varintSlice[]int var intSlice []int 上面声明了intSlice是一个指向int数组的slice,注意中括号里[详细]
