
Go语言
codemanship
2014年北京交通大学研究生毕业,先后任职于多贝云,同视未来。研究领域:流媒体服务集群,音视频编解码,服务端架构,自动化运维。
展开
-
Ready? Go! 上篇:大道至简(转)
本文分两部分连载于2012年5月和6月的《程序员》杂志。当时Go语言刚刚推出第一个稳定版:Go 1。刊载时略有删改。Go语言是Google于2009年推出的静态编译型语言,旨在为开发人员提供类似Python,Ruby一样简洁的语言环境,同时又具备C/C++一样的运行效率。作为一个开源项目,在过去的两年多时间里,Go以社区协作的形式,不断地完善语言和标准库的设计与实现。最终于今年转载 2014-06-05 23:36:17 · 1494 阅读 · 0 评论 -
Golang适合高并发场景的原因分析
典型的两个现实案例:我们先看两个用Go做消息推送的案例实际处理能力。360消息推送的数据:16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约1280万在线用户 2分钟一次GC,停顿2秒 (1.0.转载 2014-09-23 17:01:27 · 1928 阅读 · 0 评论 -
Go语言的10个实用技术
这里是我过去几年中编写的大量 Go 代码的经验总结而来的自己的最佳实践。我相信它们具有弹性的。这里的弹性是指: 某个应用需要适配一个灵活的环境。你不希望每过 3 到 4 个月就不得不将它们全部重构一遍。添加新的特性应当很容易。许多人参与开发该应用,它应当可以被理解,且维护简单。许多人使用该应用,bug 应该容易被发现并且可以快速的修复。我用了很长的时间学到了这些事情。其中的一些很微小,但翻译 2014-09-18 13:20:01 · 1558 阅读 · 0 评论 -
国内有哪些知名公司在使用Golang语言?
统计在使用Golang的公司 和 使用效果 如果你的公司正在使用golang 欢迎回复告诉情况,和大家分享~~已知的如下:360消息推送的数据:16台机器,标配:24个硬件线程,64GB内存 Linux Kernel 2.6.32 x86_64 单机80万并发连接,load 0.2~0.4,CPU 总使用率 7%~10%,内存占用20GB (res) 目前接入的产品约转载 2014-09-18 13:18:34 · 7703 阅读 · 0 评论 -
Go 语言将在1.4版本中支持面向Android平台开发
# Go 语言将在1.4版本中支持面向Android平台开发标签(空格分隔): golang Go语言---苹果发布了Swift语言时候,本人就感觉到谷歌很可能会让自己的Go语言支持Android系统。果不其然,苹果的Swift语言让谷歌倍感压力。于是,所有Golang开发者的福音来临啦。David CrawshawJune 2014**摘要翻译 2014-07-03 12:39:35 · 1843 阅读 · 0 评论 -
(转)Go 1.4+垃圾收集器计划与路线图
自从Go语言于2009年11月对外宣布以来,短短几年时间,这门语言发展迅猛,性能也在不断提升,而垃圾收集器的改进正是其中的重要一环。在Go 1.1中,Go语言引入了并行垃圾收集器,可以减少程序在多CPU上运行时的延迟;同时垃圾收集也更为精确了,以牺牲较少的CPU时间为代价,换来了堆内存的显著减少。到了今年6月份发布的Go 1.3中,精确性有所改进,又实现了检查栈上的值时的精确性。转载 2014-08-19 20:41:39 · 1351 阅读 · 0 评论 -
学习Golang语言(2): 变量
跟着“码术”一起学习Golang语言。学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。本章主要讲解变量声明.学习一门新的语言,我们首先了解的是新语言的变量声明,基本类型,关键字以及控制流。Go语言在语法上类似于C语言。但是不同于C语言,Go虽然也是用分号进行语句分割,但是程序员不需要在每行程序结尾添加分号。Go语言的编译器会自原创 2014-06-09 23:10:43 · 3835 阅读 · 1 评论 -
学习Golang语言(1): Hello World
今天开始进入golang语言的学习,golang语言的安装和测试就不再这里讲解了。网络上有不少资料可以参考。学习任何编程语言的第一个程序都是Hello world,我就不打破这个传统了。看看Go的"Hello World"吧。package mainimport "fmt" //引入fmt库func main() {fmt.Println("Hel原创 2014-06-08 23:04:24 · 19146 阅读 · 1 评论 -
给golang程序进行一次廋身
golang语言是使用静态编译,但是由golang编译出来的程序确实有点大,我们需要对它进行一次廋身。作为惯例:我们第一个程序就是经典的Hello world!// hello project main.go package main import ( "fmt" ) func main() { fmt.Println("Hello World!"原创 2014-05-28 20:14:09 · 3138 阅读 · 0 评论 -
【热点】Google的Go语言速度提升
在经过三个月的公开测试后,Go语言1.3发布了。相对于1.2,新版本在语言方面没有变化,主要带来了性能提升,支持在原生客户端下运行命令行程序,以及其他一些增强。最有趣的一些性能和实现上的变化:Go语言运行时的栈从分段内存模型改成了连续内存模型垃圾回收更快了:使用并发的清理算法,这种算法能更好地并行处理垃圾回收,具有更大的内存页;垃圾回收带来的停顿时间下降转载 2014-07-02 13:11:30 · 1387 阅读 · 0 评论 -
为什么 PHPer 应当学习 Golang(转)
熟悉我的朋友应当知道,近些年的大部分时间我的工作都会多少和 PHP 相关。随着 PHP 有着越来越深入的了解,以及遇到越来越多的不同业务时,使用 PHP 总会让我有一种莫名的无力感。当然,并不是我一个人在使用 PHP 的时候遇到了问题。事实上,每个略微有一些经验,接触过一些需求的人都会有同样的困惑。各种配合 LAMP(或者LNMP?)架构的后端技术也因此被发明或被发现,进而整合到 PHP 的开发的转载 2014-05-28 19:27:41 · 1922 阅读 · 0 评论 -
Ready? Go! 下篇:多核并起(转)
Google于2009年11月发布了Go编程语言,旨在同时具备C语言的效率和Python的简便。今年3月,Go开发组正式发布了Go语言的第一个稳定发行版:Go version 1,简称Go 1。这意味着Go语言本身和它的标准库已经稳定下来,开发者现在可以将其作为一个稳定的开发平台,构建自己的应用。我们用两篇文章介绍Go语言的特性和应用,本文是其中的第二篇。并行和goro转载 2014-06-06 20:28:22 · 1360 阅读 · 0 评论 -
Go 1.3 Beta1 发布,支持谷歌 NaCL、编译更快
2014年4月25日,Google发布了Go语言1.3 beta1版本。Go 1.3并没有引入新的语言功能,只是进行了一些功能改进,并解决了该语言中的一些bug和用户的反馈。Go 1.3的主要改进如下:显著改进了链接器和编译器,可以更快地编译程序,尤其是大型应用程序。Go编译器生成二进制代码的性能得到了改善,内存占用更少,现在有一个更快、更高效的垃圾回收器,转载 2014-06-05 23:52:11 · 1333 阅读 · 0 评论 -
学习Golang语言(4):类型--字符串
跟着“码术”一起学习Golang语言,偷懒了好多天啦,今天继续讲解Golang中的类型。今天讲解的是字符串。数值类型补充上一章节没有指出的地方:Golang还定义了三种依赖系统的类型:int、unint和uintptr。因为在32位系统和64位系统上用来表示这些类型的位数是不同的。字符串Golang中另一个重要的内建类型是string原创 2014-06-16 00:08:28 · 16563 阅读 · 6 评论 -
Go 1.3正式版发布
6月18日,在Go 1.2发布六个月之后,Go官方宣布正式发布Go 1.3。Go 1.3并没有引入新的语言功能,只是进行了功能改进,并修复了一些bug以及用户的反馈。新的版本开始支持DragonFly BSD、Solaris、Plan 9和Google的NaCl( Native Client),且显著改进了链接器和编译器。低版本的Go语言用户无需更改任何代码即可升级到Go 1.3。Go转载 2014-06-23 22:46:11 · 1411 阅读 · 0 评论 -
我为什么从 Python 转向 Go?
作者微博:http://weibo.com/p/1005052755890521原文地址:http://toutiao.io/r/rnmoe应puppet大拿刘宇的邀请,我去西山居运维团队做了一个简短分享,谈谈为什么我要将我们的项目从python转向go。坦白的讲,在一帮python用户面前讲为什么放弃python转而用go其实是一件压力蛮大转载 2015-06-14 13:34:39 · 1917 阅读 · 1 评论