04 2013 档案

摘要:1.多值返回在C/C++里面如果需要返回多值,一般是在函数传入指针或者引用,比如fun(int *a,int *b,int *c),但在go里面,如果需要返回多值,只需要把函数写成这样1 func test_func()(int,int,int){2 a := 1;3 b := 2;4 c := 3;5 6 return a,b,c;7 }最后函数会依次返回a,b,c这个其实在lua中早就有了,所以实际上在go里面也算不上什么新的东西,go里面还有一个返回值命名的特性 func read_file()(read_count int,err int){ ....... 阅读全文
posted @ 2013-04-30 22:54 linyilong 阅读(2806) 评论(2) 推荐(2) 编辑
摘要:package 指明源文件所在的包func 用于定义函数go里面除了for循环的初始化用到;,其他大部分都不需要go中没有while循环,不过可以利用 for condition来模拟while编译:go builde 编译的文件名定义一个变量,比如字符串var s string = ""go也自动推导出类型var s = "";也可以 s:="":=用在值声明并且初始化05 package main07 import (08 "os"09 "flag" // command line opti 阅读全文
posted @ 2013-04-24 20:21 linyilong 阅读(339) 评论(0) 推荐(0) 编辑
摘要:9.汇总数据:聚集函数:聚集函数运行在行组上,计算和返回单个值的函数SQL给了五个聚集函数:AVG(),返回某列的平均值COUNT(),返回某列的行数MAX(),返回某列的最大值MIN(),返回某列的最小值SUM(),返回某列值之和聚集函数的用法,例如SUM,都是SELECT SUM(*) FROM talbe_name;聚集不同值:DISTINCT:删除重复的行,10.数据分组GROUD BY 关键字SELECT vend_id,COUNT(*) AS num_prodsFROM ProductsGROUP BY vend_id;输出:vend_id num_prodsBRS0 ... 阅读全文
posted @ 2013-04-20 20:10 linyilong 阅读(251) 评论(0) 推荐(0) 编辑
摘要:技巧6:TCP是一种流协议TCP是一个流协议,跟流水一样,是没有边界的,也就是说如果B端第一次发送100个字节,第二次发送200个字节,当我们读取的时候,是根据缓冲区的大小来看读取结果的,如果我们缓冲区大于300,那么将会把全部读取出来,如果小于300,例如150,则会读取第一个和第二个的50个字节,这样需要我们去处理边界的问题,一般是通过加消息头来确定,而UDP则没有这个问题技巧9:TCP是个可靠的,但不是完全可靠的1.假设一个A主机TCP数据包发送给B主机,B主机成功收到,但是还没有复制到应用程序,这个时候B主机已经把ACK已经发给了发送A主机,A主机确认B主机已经接收到数据包,但是B注意 阅读全文
posted @ 2013-04-09 14:40 linyilong 阅读(824) 评论(0) 推荐(0) 编辑