golang字符串截取的两种方式

打印出时间,发现采用lastIndex要比split的方式要快一些.

直接上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main

import (
"log"
"strings"
"time"
)

func main() {
name := "a.txh.doc"
t := time.Now()
for i:=0;i<1000;i++{
split(name)
}
log.Println(time.Now().Sub(t))

t1 := time.Now()
for i:=0;i<1000;i++{
lastIndex(name)
}
log.Println(time.Now().Sub(t1))
}

换个新皮肤

今天看到了zippera 的博客,很喜欢这种清新简单风格,并且作者自己也写了一个主题lightum ,很不错.
这次新添加了左上方github/微博/分享,亮点就是这个high一下,很好玩,你也来试试吧~

HTTP/2新特性浅析

文章出处:http://io.upyun.com/2015/05/13/http2

HTTP/2 源自 SPDY/2

SPDY 系列协议由谷歌开发,于 2009 年公开。它的设计目标是降低 50% 的页面加载时间。当下很多著名的互联网公司,例如百度、淘宝、UPYUN 都在自己的网站或 APP 中采用了 SPDY 系列协议(当前最新版本是 SPDY/3.1),因为它对性能的提升是显而易见的。主流的浏览器(谷歌、火狐、Opera)也都早已经支持 SPDY,它已经成为了工业标准,HTTP Working-Group 最终决定以 SPDY/2 为基础,开发 HTTP/2。

golang中使用mongodb中的sparse稀疏索引

稀疏索引

“sparse”的作用就是当索引字段在文档中不存在,则不进入索引,从而避免唯一索引问题。

举个栗子,当我们有一个表user1,有mobile字段,在刚开始注册的时候,允许mobile为空,但对于mobile来说需要是unique的,这是就不能够允许多个用户存在了。这时如果加上sparse:true,就没有问题了。

关于golang中defer你不知道的事

文章出处:http://www.xiaozhou.net/something-about-defer-2014-05-25.html

Golang中的defer关键字实现比较特殊的功能,按照官方的解释,defer后面的表达式会被放入一个列表中,在当前方法返回的时候,列表中的表达式就会被执行。一个方法中可以在一个或者多个地方使用defer表达式,这也是前面提到的,为什么需要用一个列表来保存这些表达式。在Golang中,defer表达式通常用来处理一些清理和释放资源的操作

Fork me on GitHub