摘要: 反射 : 在运行时动态获取变量相关信息 reflect包 测试 Value取值修改 操作字段与方法 根据名称获取 循环获取 字段 方法 通过反射访问Tag 阅读全文
posted @ 2018-09-11 10:46 瓜田月夜 阅读(89) 评论(0) 推荐(0) 编辑
摘要: gorouting goroutine是Go语言中的轻量级线程实现,由Go运行时(runtime)管理。 在一个函数调用前加上 go 关键字,这次调用就会在一个新的goroutine中并发执行。当被调用的函数返回时,这个goroutine也自动结束了。需要注意的是,如果这个函数有返回值,那么这个返回 阅读全文
posted @ 2018-09-11 10:45 瓜田月夜 阅读(122) 评论(0) 推荐(0) 编辑
摘要: socket编程 服务端处理流程的发展过程 初级 : 单进程, 单线程执行 中期 : 每个请求都由一个线程来完成 后期 : 监听socket状态, IO多路复用 go语言服务端处理流程 监听端口 -> 接收客户端的连接 -> 创建goroutine, 处理该链接 客户端流程 连接服务端 -> 进行数 阅读全文
posted @ 2018-09-11 10:45 瓜田月夜 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 创建错误 error实际上是个接口 我们可以自定义错误 Panic和Recover panic 意思是抛出一个异常, 和python的raise用法类似recover是捕获异常,和python的except用法类似defer会延迟函数到其他函数之后完之后再执行,后面跟的是函数golang 的错误处理 阅读全文
posted @ 2018-09-11 10:43 瓜田月夜 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 使用OS操作文件 读写示例 相关常量及File的方法 先介绍打开文件的方法参数及返回值 File结构体的方法 os下的其他方法 ioutil包 写文件 读文件 使用bufio读写文件 bufio 用来帮助处理 I/O 缓存。 我们将通过一些示例来熟悉其为我们提供的:Reader, Writer an 阅读全文
posted @ 2018-09-11 10:42 瓜田月夜 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 源码执行流程 自己模仿一个(提取代码) 服务器类 handle ps: fileno()方法, select实际上是监听的套接字该方法, 因为我们传入的不是套接字, 所以我们实现了该方法, 并且返回套接字的状态 threading.Event() 创建一个事件, 其中存在一个标记, 如果该标记位Fa 阅读全文
posted @ 2018-09-11 10:05 瓜田月夜 阅读(340) 评论(0) 推荐(0) 编辑