[译文] 关于Golang的一个令我深深叹服的特性

转自:http://golanghome.com/post/155 [译文] 关于Golang的一个令我深深叹服的特性 原文地址:这里 译文: 翻译By:@jemygraw 补充说明:一些评论的人对本文中的一些内容感到很困惑,但是我不想让大家感到我言语不清,所以在此澄清一下: 是的, 默认情况下,向一个hash表插入的元素是没有固定顺序的。但是因为很多原因,比如有一些帖子就指出了不是所有的map都是hash表(而且有些语言还有有顺序的hash表,比如java的TreeMap), 我还是能够了解为...阅读全文

CSDN博客 2014-07-13 11:30 leonzhouwei

为什么 PHPer 应当学习 Golang

作者:星星来源:http://mikespook.com/2012/08/%E4%B8%BA%E4%BB%80%E4%B9%88phper%E5%BA%94%E5%BD%93%E5%AD%A6%E4%B9%A0golang/ 熟悉我的朋友应当知道,近些年的大部分时间我的工作都会多少和 PHP 相关。随着 PHP 有着越来越深入的了解,以及遇到越来越多的不同业务时,使用 PHP 总会让我有一种莫名的无力感。当然,并不是我一个人在使用 PHP 的时候遇到了问题。事实上,每个略微有一些经验,接触过一些...阅读全文

CSDN博客 2013-12-03 12:15 heiyeshuwu

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.3 的 GC 不给力,直接升级到 tip,再次吃螃蟹) 15亿个心跳包/天,占大多数。 京东云消息推送系统 (团队人数:4...阅读全文

CSDN博客 2014-06-12 14:38 LvanNeo

学习Golang语言(5):类型--数组

学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习Golang语言(6):类型--切片 今天继续跟着“码术”一起学习Golang语言。之前的章节我们学习了Golang的基本数据类型。接下来我们要学习Golang内置的高级类型:数组、切片和字典。首先先讲解数组。 数组(array) Go语言的数组是一个定长的序列,数...阅读全文

CSDN博客 2014-06-23 22:44 codemanship

许式伟《Go语言编程》样章“面向对象编程”

原文转自:http://www.ituring.com.cn/article/1339 面向对象编程 Go 语言的面向对象编程(OOP)非常简洁而优雅。说它简洁,简介之处在于,它没有了OOP中很多概念,比如:继承、虚函数、构造函数和析构函数、隐藏的this指针等等。说它优雅,是它的面向对象(OOP)是语言类型系统(type system)中的天然的一部分。整个类型系统通过接口(interface)串联,浑然一体。 类型系统(type system) 很少有编程类的书籍谈及类型系统(type sy...阅读全文

CSDN博客 2012-09-04 15:11 love_se

Ubuntu 配置 Go 语言开发环境(Sublime Text+GoSublime)

本文针对的 Go 语言版本为 1.1.1,之前也有相关文章讲解如何在 Ubuntu 下配置Go语言的开发环境,但时过境迁,一些方法已经不相同或者不必要。虽讲的是 Ubuntu 下安装配置过程,但 Windows 系统不仅下载更方便,配置环境部分大同小异,其中 64 位系统的 GCC 编译器可到 http://tdm-gcc.tdragon.net/ 下载。 第一步:安装Go语言相关工具 请在终端输入以下指令(如果发现下载速度一般,建议每个分开安装,否则一个安装失败将导致未安装的全部失败): 1 ...阅读全文

CSDN博客 2013-10-16 10:57 xd43100678

Mac+Sublime+Golang 环境配置所学

关于环境变量: GOPATH是一个路径列表,类似于PATH的设置: GOPATH=/home/USER/go:/home/USER/workspace_go:***在你建好工作空间后,即可开始配置GOPATH了(配置文件是~/.bash_profile)。export GOPATH=/Users/用户名/go:/Users/用户名/Documents/workspace/workspace_go在mac下设置环境变量: 1,打开 应用程序 -> 实用工具 -> 终端;2,在终端中定位到自己用户的...阅读全文

博客园 2014-10-03 18:54 guidovanrossum

GO語言基礎教程:流程控制

在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package main import ( "fmt" ) func main(){ var x,y int=1,2 { var x int=2 { var x int=3 fmt.Println(x,y) //首先輸出3,2 如果我把這行輸出語句注解掉,大家猜猜會如何? } fmt.Println(x,y) //其次輸出2,2 } fmt.Pri...阅读全文

Go 语言的依赖注入

依赖注入(DI)是一种解耦组件之间依赖关系的设计模式。在需要的时候,不同组件之间可以通过一个统一的界面获取其它组件中的对象和状态。Go语言的接口设计,避免了很多需要使用第三方依赖注入框架的情况(比如Java,等等)。我们的注入方案只提供非常少的类似Dager或Guice中的注入方案,而专注于尽量避免手动去配置对象和组件之间的依赖关系。因为,我们认为如果在Go代码库中,注入能够更加容易理解,就根本没有必要那样。 在Go中实现注入只需要这几个简单的步骤: 晏雨涵翻译于 1 个月 前 0人顶 顶 翻译...阅读全文

开源中国翻译 2014-10-09 16:00:01 晏雨涵, 0x0bject, 等

整理一下Go环境需要的东西(水帖~)

先声明 不是搭建教程。。 重做了个系统要重新搭环境,结果原来的很多站点的东西都没了,害我辛辛苦苦折腾了好久,于是今天整理一下。 go下载 Golangtc下载 这个貌似比官网快 环境变量已有 GOROOT (windows默认会装在 C:\Go 不想装在C盘又不想改配置的可以用 mklink ) 一般还需要 GOPATH 需要把 PATH 加上 %GOROOT%\bin;%GOPATH%\bin; msysgit (Linux直接从仓库下) https://code.google.com/p/m...阅读全文

CSDN博客 2013-12-05 10:01 kzzhr

Go语言 系统监控常用工具

Go是很实在的编程语言,从一开始就提供了很详细的运行状态信息。产品上线后的调优和排查疑难杂症都得靠这些状态信息。这边总结一些我们项目里用到的状态监控手段。 pprof Go自带了一个pprof工具,这个工具可以做CPU和内存的profiling,官方的博客有一篇文章介绍用法:《Profiling Go Programs》 官方的文章讲了怎么用自带的pprof工具分析数据,但是获得分析数据的部分比较单一,我在很长一段时间一直误以为cpuprof和memprof必须在程序启动时打开,其实cpupro...阅读全文

CSDN博客 2014-04-20 21:01 abv123456789

Go 语言使用 TCP keepalive

如果你写过某些 TCP socket 代码,你可能会疑问:如果网线被拨掉或者远程主机崩溃了我的TCP连接会怎样? 简短的答案是:一点影响都没有。这种情况下连接的结束远程主机是不会发送FIN数据包的,并且本地系统不能检测连接是否已中断。所以需要作为程序员的你来解决这种情况。 --zxp翻译于 1 个月 前 0人顶 顶 翻译的不错哦! GO语言为你提供了解决这个问题的几种方法。首选的方法可能是 net.Conn 接口中的SetReadDeadline方法。假设你的连接在以一种特定的间隔来接收数据,你...阅读全文

开源中国翻译 2014-10-09 16:00:00 --zxp, 0x0bject

Go语言基础概念

Go语言基础概念 2014年2月17日 go语言学习 个人论述:关于程序语言,每个程序员都有不同的看法和观点,有人觉得C++语言好用,够快;有人觉得C语言好用够强大,又有人觉得Java好用,够简洁。目前编程语言数不胜数了,目前排在前面的还是C、C++、Java,这三种语言使用人数最多的,历史也是最悠久的。它们都是经过无数程序员千锤百炼而慢慢成熟起来的,现在很难评判说到底哪个语言好用或者开发出来的程序功能强大,讨论这些是没有意义的,一个语言到底能做什么东西全靠程序员个人的功力和对语言的熟悉程度,它...阅读全文

CSDN博客 2014-02-17 11:46 wwj_748

【Go web开发之revel+mgo】第6章 实现留言板功能

演示地址   http://gblog-revel.herokuapp.com/ 1.实现留言板 我们在上一章做了简单的设计,挑就留言的表单有了,那么。。。。。 首先,在app/models下新建message.go 内容: package models import ( "github.com/revel/revel" "labix.org/v2/mgo/bson" "time" ) type Message struct{ Email string QQ string ...阅读全文

CSDN博客 2014-04-25 17:19 jov123

gobuild的历史

起先是在github上,弄了一个https://codeskyblue.github.io,用hexo生成博客,但是用的是在费劲。最后还是回到了我心爱的oschina。 弄博客其实只是想写写,回忆一下,在这个时候,就会感到放松。 起源 那是9个月以前(2014-01)的一个简单的周末,学习go语言已经大半年了。工作找的也不是太顺利,当时和谢大聊了下,他说年轻人应该多沉下心来写写代码。想着看看能不能通过写点东西,引起猎头的注意。 恰巧我当时想到一个问题,目前网上有没有提供Go代码交叉编...阅读全文

开源中国博客 2014-10-08 11:08 go-skyblue