Go程序设计语言(一)
int uint int8 uint8 = byte int16 uint16 int32 uint32 float32 complex64 int64 uint64 float64 complex128 还有uintptr,一个大小足够存储一个指针的数值。 这些都是互不相同的类型;int不等于是int32,即便是在一个32位的机器上。 ...
int uint int8 uint8 = byte int16 uint16 int32 uint32 float32 complex64 int64 uint64 float64 complex128 还有uintptr,一个大小足够存储一个指针的数值。 这些都是互不相同的类型;int不等于是int32,即便是在一个32位的机器上。 ...
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It’s a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language. – 摘自Go语言官方站点 ...
本文翻译自Dr.Dobb’s的"Getting Going with Go"。 本文是有关Google新的系统原生语言的五周教程的第一部分,这里将先向大家展示如何建立Go语言开发环境以及构建程序,然后带领大家浏览 一些代码范例来着重了解一下这门语言的一些有趣的特性。 ...
本文翻译自 Dr. Dobb’s主编Andrew Binstock的文章"Why Not Go?"。 Go是一种对系统原生语言的重要反思,它对C语言做了重大的改善,同时还保持了语言的极简性。 今年早些时候,我们写了一篇有关新兴系统原生(native)语言的文章。这些语言包括D、Go、Rust以及Vala。当时我们承诺将会对这些语言进行 细致的探索。从本周开始,我们将开启一系列对来自Google的新语言Go的探索之旅,该系列共有五部分。不同于以往Dr.Dobb’s的教程系列,我们 会在连续的几周内发表这些文章,这样你就可以及时且更快的了解到这门语言了。 ...
我们在平时编码过程中很少考虑代码的安全性(security),与正确性、高性能和可移植性相比,安全性似乎总被忽略。昨天从安全性角度泛泛地Review了一下现有的代码,发现了不少具有安全隐患的地方。我们的程序员的确缺乏系统地有关安全编码方面的训练和实践,包括我在内,在安全编码方面也都是初级选手,脑子中对安全性编码缺乏系统的理解。 ...
一口气读了七章"Code Complete 2nd(以下称CC2e)“中的内容,从第七章的"高质量的子程序"到第十三章的"不常见的数据类型”。之所以一口气读这么多,是因为被其中的内容吸引了。这两天的下午一直在做代码评审,所以晚上看CC2e的时候,思维不停的在项目代码和书中内容之间跳转。一直把"代码大全2nd"当作一门百科全书式的手册类图书,买回来后一直陈放在书架上没有问津。直到今天在考虑一个关于断言使用的问题时,才想起来去查查这本百科全书,想看看书中是如何阐述断言的。于是便拿起了这本书。 ...
昨天是周五,按照工作计划,上午和组内同事做个人阶段性目标沟通。在与一位曾经在国外公司里做过项目的同事沟通时,他给我讲了这么一个故事:某一年的圣诞节前夕(圣诞节在西方人眼里是地位最高的节日了吧)他所在的那家公司的经理预感到圣诞节那天他们公司的网站的访问量激增的可能性会很大,为了保证网站在那圣诞节那天能"挺住",他要求手下的人对网站进行一次压力测试,并决定让手下用jmeter来做这件事情。手下人没有异议,由于没有用过jmeter,遂大家都忙碌起来,预研的、准备测试环境的等等。一切就绪后,正准备开始测试了,这时那位经理突然召集手下人说jmeter不能满足他们的压力测试要求,大家都惊愕之,并马上提出了反驳,因为jmeter工具是这位领导提出要使用的,现在又不用了,圣诞节已经迫在眉睫,更换压力测试工具肯定不能完成这个任务了。这位经理无奈妥协,结果是:通过jmeter压力测试后优化的网站顺利了通过了”圣诞节的考验“,不过大家都觉得这个过程很别扭。 ...
C语言语法简单,但内涵却博大精深;如果在学习时只是止步于表面,那么往往后期会遇到很多困难。typedef是C语言中一个很好用的工具,大量存在于已有代码中,特别值得一提的是:C++标准库实现中更是对typedef有着大量的使用。但很多初学者对其的理解仅局限于:typedef用来定义一个已有类型的”别名(alias)”。正是因为有了这样的理解,才有了后来初学者在typedef int myint和typedef myint int之间的犹豫不决。很多国内大学的C语言课之授课老师也都是如是说的,或者老师讲的不够透彻,导致学生们都是如是理解的。我这里想结合C语言标准文档以及一些代码实例,也说说typedef。 ...
在网上搜索"万能"二字的英文翻译,结果却无意中看到有人提到了如何设计"万能栈"。栈(stack)是比较基础(fundamental)的数据结构,实现起来一般都比较容易。但一般的栈(stack)的实现都是局限于某种特定类型的,比如一个存储32-bit整型的栈。如果对于同一份栈实现,要求可以存储多种数据类型的话,那就需要仔细想想了。而这样的栈实现也就被戏称"万能"栈。 ...
近期公司实行新的绩效考核机制,我的考核目标中就有一项叫做:“成功使用新技术、框架、思路等至少3个”,呵呵,先不论绩效考核机制是否合理,既然已经这样了那就需要去适应。一直在做Network Application,早就知道ACE在业界中的名气,这回有理由找个时间好好挖掘一下ACE的思路,也为我的绩效目标增色啊^_^。 ...