
golang
openex
一位会烧菜梦想做神经学家的程序员
展开
-
golang 常量的iota使用
在常量定义中,iota可以方便的迭代一个值从0以步长1递增,0,1,2,3,4,5… 本例以文件大小的格式2的10次方进位一次为依据,将KB为1左移10位,MB左移20位。。。package mainimport ( "fmt")type ByteSize float64const ( _ = iota KB ByteSize = 1 << (10*iota) M原创 2017-08-22 12:09:40 · 2733 阅读 · 0 评论 -
使用Go实现了一个ping命令
注意差错校验CheckSum在总字节为奇数时,需要将最后一个byte左移8位凑成16位在操作binary时注意网络字节序问题 github地址 https://github.com/openex27/Ping/blob/master/Ping.gopackage mainimport ( "bytes" "encoding/binary" "fmt" "net"原创 2017-09-06 17:48:17 · 1864 阅读 · 0 评论 -
实现了一个golang周期任务调度包
drumstickImplement crond by Golang https://github.com/openex27/drumstick鼓槌(鸡腿),golang定时任务包功能特性:1.提供时间补偿机制,避免周期任务调度中时间损耗累计导致的长期使用后产生任务滞后现象2.参数可传入自定义函数, 和变长自定义参数3.未完待续…方法:NewTask(time.Duration, fun原创 2017-09-11 15:46:56 · 2289 阅读 · 0 评论 -
go的内存模型
关于channel对一个channel的发送操作 happens before 相应channel的接收操作完成 (channel带缓存)关闭一个channel happens-before 从该Channel接收到最后的返回值0不带缓冲的channel的接收操作 happens-before 相应channel的发送操作完成 go内存模型原创 2017-10-18 19:27:06 · 607 阅读 · 0 评论