golang编程之时间编程

golang编程之时间编程 编程离不开时间,时间管理,严格的说分成两块,一个是当前的时刻,对应的是一个点,还有是一段时间间隔。本文简单的讲讲go的时间相关的编程,比较简单,高手可以一笑而过。 golang对时间的支持,是package time做的事儿,里面有好多的函数,我就不一一举例学习,毕竟这是官方文档干的事情。我们初步的学习下常用的函数。 第一个是UNIX epoch time,确切的说就是自1970-01-01 00:00:00 GMT以来的秒数,不知道如何获取的,可以在shell下执行...阅读全文

阅读:14334 评论:0

类似 go get –u 的命令行参数实现

我们可能需要类似 go get –u …. 这样的方式来实现我们的应用,这时候我们无法简单地使用 flag.Parse 了,而是要用 FlagSet 了, 使用例子如下: package main import ( "flag" "log" "os" ) var () func main() { // 读取命令参数,注意,这里根据执行任务的不同,参数也不一样 // 技术参考: // http://stackoverflow.com/questions/24504024/defining-inde...阅读全文

2015-12-29 15:32 ghj1976
阅读:9212 评论:0

golang gc机制学习

以下针对go1.5 gc方法 参考官方文章:https://blog.golang.org/go15gc,go的gc看起来类似于宽度优先搜索算法。 1. 将heap看作是一个图,其内部存储的变量之间有指针相互联系。所有变量最初都被着色为白色 2. 遍历heap,选择root节点,将它们标记为灰色 3. 针对上面选择的每一个root节点,首先将其颜色变为黑色,然后迭代的去访问他的孩子节点(即其所代表的变量内部的指针成员所指向的其他节点) 4. 针对每个孩子节点,返回第2步进行相同的处理 最后,所有...阅读全文

阅读:4009 评论:0

go 类型系统(二)

pre-declared type (预声明类型) golang 默认的有几个预声明类型:boole,num,string type. 这些预声明类型被用来构造其他的类型。 type literal(字面量类型) 由其他预声明类型组合而成(没有使用type 关键字定义),array,struct,pointer,slice,map,channel,function,interface [2]int ,[ ] int , chan int , map[string] string ,* int 注...阅读全文

阅读:2546 评论:0