最新 | 最热门 | 最高评价

+0  [转]Golang 中使用 JSON 的小技巧

Tag: Go
鸟窝 发于 2017年06月22日 17:55 | 点击: 285 | 展开摘要
taowen是json-iterator的作者。 序列化和反序列化需要处理JSON和struct的关系,其中会用到一些技巧。 原文 Golang 中使用 JSON 的小技巧是他的经验之谈,介绍了一些struct解析成json的技巧,以及 json-iterator 库的一些便利的处理。

有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用。 本来用一个json:",string" 就可以支持了,如果不知道golang的这些小技巧,就

查看全文: http://www.udpwork.com/item/16317.html

+0  Go 1.9 的新特性

Tag: Go
鸟窝 发于 2017年06月20日 14:24 | 点击: 258 | 展开摘要
现在 Go 1.9 beta版已发布, 正式版预期在8月初发布,让我们先来看看你Go 1.9带来了那些新特性。

type alias

类型别名原本在1.8中加入的,但是临时发现有些问题,为了能全面的设计 type alias 被移到了 Go 1.9中了。

这个特性主要用在类型从一个package移动到另外一个package中的时候,导致的项目中对引入的路径不一致导致的问题, 比如原先 context是在golang.org/x/net/context包下,在Go 1.7

查看全文: http://www.udpwork.com/item/16315.html

+0  [译]使用os/exec执行命令

Tag: Go
鸟窝 发于 2017年06月19日 17:30 | 点击: 223 | 展开摘要
原文: Advanced command execution in Go with os/exec by Krzysztof Kowalczyk.
完整代码在作者的github上: advanced-exec

Go可以非常方便地执行外部程序,让我们开始探索之旅吧。

执行命令并获得输出结果

最简单的例子就是运行ls -lah并获得组合在一起的stdout/stderr输出。

1
2
3
4
5
6
7
8

func main() {
cmd := exec.Comm

查看全文: http://www.udpwork.com/item/16312.html

+0  通过实例入门Golang

Tag: Technical | Golang
老王 发于 2017年06月09日 19:43 | 点击: 425 | 展开摘要
如果想学会一门新语言,不仅要多读文档,还要多看别人写的代码,更要强迫自己用新语言多写代码。我在学习 Golang 之前,读过好几本相关的书籍,不过总感觉没真正学会,于是我决定动手用 Golang 写一个能用的工具试试,因为 Golang 最大的优势就是 goroutine 和 channel,所以我觉得实现一个简版的 ab(Web 压力测试工具)应该是一个不错的选择,用 Golang 磕磕绊绊总算实现了预想的功能,能够计算 Requests per second 和 Time

查看全文: http://www.udpwork.com/item/16297.html

+0  Go语言的修饰器编程

Tag: Go 语言 | 程序设计 | 编程语言 | functional | Go | golang | Programming | 函数式
陈皓 发于 2017年06月01日 16:48 | 点击: 408 | 展开摘要
之前写过一篇《Python修饰器的函数式编程》,这种模式很容易的可以把一些函数装配到另外一些函数上,可以让你的代码更为的简单,也可以让一些“小功能型”的代码复用性更高,让代码中的函数可以像乐高玩具那样自由地拼装。所以,一直以来,我对修饰器decoration这种编程模式情有独钟,这里写一篇Go语言相关的文章。

看过Python修饰器那篇文章的同学,一定知道这是一种函数式编程的玩法——用一个高阶函数来包装一下。多唠叨一句,关于函数式编程,可以参看我之前写过一篇文章《函数式编程

查看全文: http://www.udpwork.com/item/16287.html

+0  知乎应该开分基地

Tag: First Category
s5s5 发于 2017年05月23日 10:26 | 点击: 359 | 展开摘要
前几天参与了一个知乎运营的分享,并没有多少干货,只是说怎么引导把一个话题打开?然后说了一下知乎的用户的情况。

总体来说他们的思路还是的帮用户打发休闲时间,这并不是我想看到的知乎。

我想看到的知乎是一个用完即走,占用用户解决问题时间的知乎。

按照他们的说法他们其实也很担心,其它各种占用用户休闲时间的应用网站,比如说游戏也是他们的竞争对手……

虽然他们做的比较有特色,但应该还是从更好的帮助用户解决问题出发。

我也向他们提议做国内的 Stack Overflow ,他们内

查看全文: http://www.udpwork.com/item/16276.html

+0  坚果Pro不错,老罗加油(ง •̀_•́)ง

Tag: First Category
s5s5 发于 2017年05月22日 10:00 | 点击: 387 | 展开摘要
坚果 Pro 用了几天感觉还不错!

嗯,跟我之前的 iPhone 6 Plus 相比,已经可以完美地超过他。但是我的 iPhone 6 Plus 用了三年啦!

我对手机的外观没什么感觉,手机不都长的差不多么,大同小异。同事们反馈确实是相对来说比较漂亮。

但在我没有买手机套之前,割手问题一直存在,以至于导致于我打王者荣耀并不能完美的发挥。

从功能上来说啊,Andriid 系比 iOS 体验要更好一些,但是在国内的流氓软件比较多,呵呵,各种权限都使劲申请。我就不明白一个点

查看全文: http://www.udpwork.com/item/16273.html

+0  突破限制,访问其它Go package中的私有函数

Tag: Go
鸟窝 发于 2017年05月18日 18:20 | 点击: 500 | 展开摘要
熟悉C++、Java、C#等面向对象的编程语言的同学,在学习Go语言的过程中,经常会被访问权限所困扰,逐渐才能了解这样一个事实:

Go语言通过identifier的首字母是否大写来决定它是否可以被其它package所访问。

正式的Go语言规范是这么规定的:

An identifier may be exported to permit access to it from another package. An identifier is exported if bot

查看全文: http://www.udpwork.com/item/16262.html

+0  Go Web 框架性能比拼 2017 春季版

Tag: Go
鸟窝 发于 2017年05月12日 22:50 | 点击: 1191 | 展开摘要
谁是最快的Go Web框架?, 这是我去年发布的Go web 框架的评测。现在一年过去了,有些框架因为缺乏维护而被放弃了,又有新的轮子被创造出来,既有的轮子也在不停的演化升级,来去之间,Go的版本也已经升级的1.8了。 青年节前, kirillDanshin提了一个issue,希望能更新最新的测试结果,现在这篇文章就记录了最新的测试结果。

测试环境

CPU: Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz, 32 cores

查看全文: http://www.udpwork.com/item/16203.html

+0  Golang 知识点总结

Tag: Go
鸟窝 发于 2017年05月12日 22:50 | 点击: 914 | 展开摘要
原文: Golang Summaries by TapirLiu

本文是由TapirLiu总结的Golang中的一些知识点,对于深入学习Golang很有帮助,所以我特意翻译了一下。

各种类型复制的时候的花费

本节标题也可以叫做“各种类型的值的大小” (the sizes of values of all kinds of types),底层可被不同的值共享的数据的大小未被计算。

下面的表格中一个 word在32bit操作系统中代表4个字节,在64bit操作系统中代表8

查看全文: http://www.udpwork.com/item/16086.html

+0  [转]通过 raft 的 leader lease 来解决集群脑裂时的 stale read 问题

Tag: Go
鸟窝 发于 2017年05月08日 16:36 | 点击: 386 | 展开摘要
PingCap联合创始人、CTO 黄东旭写的一篇解决Raft网络分区的一种方案: 通过 raft 的 leader lease 来解决集群脑裂时的 stale read 问题。本文转载之。

问题: 当 raft group 发生脑裂的情况下,老的 raft leader 可能在一段时间内并不知道新的 leader 已经被选举出来,这时候客户端在老的 leader 上可能会读取出陈旧的数据(stale read)。 比如,我们假想一个拥有 5 个节点的 raft group:

查看全文: http://www.udpwork.com/item/16257.html

+0  [转]Golang调度器源码分析

Tag: Go
鸟窝 发于 2017年05月04日 19:37 | 点击: 493 | 展开摘要
原文: Golang调度器源码分析, 作者: 无心之祸

为什么Golang需要调度器?

Goroutine的引入是为了方便高并发程序的编写。 一个Goroutine在进行阻塞操作(比如系统调用)时,会把当前线程中的其他Goroutine移交到其他线程中继续执行, 从而避免了整个程序的阻塞。

由于Golang引入了垃圾回收(gc),在执行gc时就要求Goroutine是停止的。通过自己实现调度器,就可以方便的实现该功能。 通过多个Goroutine来实现并发程序,既有异步

查看全文: http://www.udpwork.com/item/16252.html
|<<<1234567>>>| 一共49页, 584条记录