go4
常量:



goroutine:


管道:


只有三种引用类型:slice(切片)、map(字典)、channel(管道),都要make

取多了但是没有解决方法,就会报错,若有解决方法,则阻塞等待:











select用case试探,防止报告fatal错误:
注意case不是从上到下顺序来的

若单个线程出错,用recover处理:



反射:


练习1:
下面的rVal.Int()返回的是int64类型的

Type和Kind:

反射修改变量:


反射获取结构体信息:
注意反射只能操纵首字母大写的方法







网络编程
跟踪网络:

端口:

查看百度80端口是否在监听:


服务器:



客户端:


简化版:
服务器:

客户端:

Redis:
启动服务器:


启动客户端:






设置时间一旦超过就清空信息:







lpush:

左边箭头从左添加lpush,右边箭头从右添加rpush
不必记住链表之间的箭头,只用记住像个双向队列

弹出一个:





go操作Redis:

需要import(
"github.com/garyburd/redigo/redis"
)
这里的set大小写无所谓:





连接池

其它有几个需要注意的地方:
MaxActive 最大连接数,即最多的tcp连接数,一般建议往大的配置。
MaxIdle 最大空闲连接数,即会有这么多个连接提前等待着,但过了超时时间也会关闭。


海量用户通信系统

建立一个文件显示界面,另一个文件处理登录逻辑,注意switch里面的break只能跳出switch
在gopath路径下,直接对client文件夹build,并指定文件名才能运行。该client文件夹包括login.go和main.go


浙公网安备 33010602011771号