摘要: 实现了私聊,公聊。用户名密码存在redis。为了拓展,做了简单的模块。#coding=utf8from twisted.internet import reactor, deferfrom twisted.protocols.basic import LineReceiverfrom twisted... 阅读全文
posted @ 2015-01-20 15:16 huangxiaohen 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 用1-8八个数字不重复使用,组成两个四位数,其中一个是另一个的四倍。#encoding:utf8from itertools import *def delSrc(i, l): l.pop(l.index(i)) return ldef makeStr(l): s = "" ... 阅读全文
posted @ 2015-01-06 15:53 huangxiaohen 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 并发goroutinegoroutine 是 Go 并行设计的核心。goroutine 说到底其实就是线程,但是他比线程更小,十几个 goroutine 可能体现在底层就是五六个线程,Go 语言内部帮你实现了这些 goroutine之间的内存共享。执行 goroutine 只需极少的栈内存(大概是 ... 阅读全文
posted @ 2014-12-24 17:05 huangxiaohen 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 什么是interface简单的说,interface 是一组 method 的组合,我们通过 interface 来定义对象的一组行为。如何实现interface?//Human 对象实现 Sayhi 方法func (h *Human) SayHi() { fmt.Printf("Hi, I am ... 阅读全文
posted @ 2014-12-24 15:18 huangxiaohen 阅读(163) 评论(0) 推荐(0) 编辑
摘要: method带有接收者的函数,我们称为 methodfunc (r ReceiverType) funcName(parameters) (results)package mainimport ( "fmt" "math")type Rectangle struct { width, height ... 阅读全文
posted @ 2014-12-24 14:14 huangxiaohen 阅读(149) 评论(0) 推荐(0) 编辑
摘要: main函数和init函数虽然一个 package里面可以写任意多个 init 函数,但这无论是对于可读性还是以后的可维护性来说,我们都强烈建议用户在一个 package 中每个文件只写一个 init 函数。Go 程序会自动调用 init()和 main(),所以你不需要在任何地方调用这两个函数。每... 阅读全文
posted @ 2014-12-24 11:07 huangxiaohen 阅读(365) 评论(0) 推荐(0) 编辑
摘要: deferGo 语言中有种不错的设计,即延迟(defer)语句,你可以在函数中添加多个 defer 语句。当函数执行到最后时,这些 defer 语句会按照逆序执行,最后该函数返回。特别是当你在进行一些打开资源的操作时,遇到错误需要提前返回,在返回前你需要关闭相应的资源,不然很容易造成资源泄露等问题。... 阅读全文
posted @ 2014-12-24 10:56 huangxiaohen 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 函数是 Go 里面的核心设计,它通过关键字 func 来声明,它的格式如下:func funcName(input1 type1, input2 type2) (output1 type1, output2 type2) {//这里是处理逻辑代码//返回多个值return value1, value... 阅读全文
posted @ 2014-12-23 16:59 huangxiaohen 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1.ifGo 的 if 还有一个强大的地方就是条件判断语句里面允许声明一个变量,这个变量的作用域只能在该条件逻辑块内,其他地方就不起作用了,如下所示// 计算获取值 x,然后根据 x 返回的大小,判断是否大于 10。if x := computedValue();x > 10 {fmt.Printl... 阅读全文
posted @ 2014-12-23 16:49 huangxiaohen 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 1.变量的定义:var VarName Typevar vname1, vname2, vname3 typevar variableName type = valuevar vname1, vname2, vname3 type= v1, v2, v3var vname1, vname2, vna... 阅读全文
posted @ 2014-12-23 14:26 huangxiaohen 阅读(237) 评论(0) 推荐(0) 编辑