编程语言
_飞翔的企鹅_
这个作者很懒,什么都没留下…
展开
-
Golang RPC调用例子程序(实现超时机制)
package mainimport ( "fmt" "log" "net" "net/rpc" "time")func main() { log.SetFlags(log.Lshortfile | log.Lmicroseconds) log.Println("=======begin====== ") testRpc() ti原创 2017-02-05 10:54:09 · 3882 阅读 · 0 评论 -
Go语言string与[]byte类型转化避免拷贝
在Go语言中string类型与[]byte强制类型转化的是后会发生内存拷贝,这是由于这两种类型的特性所决定的; string类型是不允许修改内容,[]byte是可以修改的。下面提供两个函数使用时不会发生内存拷贝吗,但是使用过程中药慎重,确保不会修改底层内容,否则很大可能会导致程序异常import ( "reflect" "unsafe")func String(b []by原创 2016-11-30 15:39:36 · 7865 阅读 · 0 评论 -
Golang并发详解
多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang, Erlang, Scala等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式有一个极其简洁的内核,还有在此之上丰富的外延。可以解决现实世界中各种各样的问题。本文以GO语言为例,解释其中内核、外延。并发模式之内核这种并发模式的内核只转载 2014-05-06 17:03:27 · 5291 阅读 · 0 评论 -
Golang开发环境搭建(Notepad++、LiteIDE两种方式以及martini框架使用)
Golang开发环境搭建 Notepad++、LiteIDE两种方式martini框架的使用原创 2014-05-06 16:59:53 · 7163 阅读 · 1 评论 -
见过有三个参数的main函数吗——main(int argc, char *argv[], char *env[])
直接上代码:int main(int argc, char *argv[], char *env[]){ LogTrace("start"); int index = 0; while(env[index] != NULL) { printf("env[%d]: %s\n", index, env[index]);原创 2013-12-12 15:47:48 · 2296 阅读 · 1 评论 -
成员变量在结构体中的偏移——offsetof(type, member)
size_t offsetof(type, member):看上去像个函数其实这是一个宏;用于求取member成员在类型为type的结构体中的偏移量;(member是type中的一个成员,否则会出错)。先看一个例子,稍后再看其中的实现。 #include #include #include int mai原创 2012-12-26 19:13:08 · 2034 阅读 · 0 评论 -
C语言运算符优先级
转载自:http://www.slyar.com/blog/c-operator-priority.html运算符优先级,就算是编程老手有时也容易混;有句话说得好——用括号才是王道,有时括号多了感觉也挺乱的。转载一个方便查找:优先级运算符名称或含义使用形式结合方向说明1[]转载 2012-12-08 22:06:51 · 588 阅读 · 0 评论 -
Google C++编程风格指南
GoogleC++编程风格指南译者前言Google经常会发布一些开源项目,意味着会接受来自其他代码贡献者的代码;但是如果代码贡献者的编程风格与Google的不一致,会给代码阅读者和其他代码提交这造成不小的困扰;Google 因此发布了这份自己的编程风格,使所有提交代码的人都能获知Google 的编程风格。翻译初衷:规则的作用就是避免混乱;但规则本身一定要权威,有说服力,并且是理性的转载 2013-12-15 23:15:33 · 2369 阅读 · 1 评论