摘要: 一个简单的web服务器 简单看下Request结构体中几个重要成员 获取get参数 获取post参数 提交方式: application/x www form urlencoded 提交方式: json go type RequestParm struct { Name string Age int 阅读全文
posted @ 2018-08-12 14:37 Sawyer Ford 阅读(439) 评论(0) 推荐(0) 编辑
摘要: reflect,反射。 利用reflect,可以得到一个struct的相关信息。 输出如下: hello atom, my name is xiaominghello jack, my name is xiaoming Type: UserFields: Id: int = 1 Name: stri 阅读全文
posted @ 2018-03-14 19:24 Sawyer Ford 阅读(340) 评论(0) 推荐(0) 编辑
摘要: Buffered Channels 如果操作一个空的channel会怎么样呢? 12fatal error: all goroutines are asleep - deadlock! 如果make函数不指定buffer length,会怎么样呢? fatal error: all goroutin 阅读全文
posted @ 2017-12-07 11:14 Sawyer Ford 阅读(149) 评论(0) 推荐(0) 编辑
摘要: golang使用array表示固定大小的数组,使用slice表示动态数组。 输出如下: type of array: [5]intaddress of array: 0xc420014150address of arrar[0]: 0xc420014150slice = [2 3 5 7 11], 阅读全文
posted @ 2017-12-03 16:48 Sawyer Ford 阅读(276) 评论(0) 推荐(0) 编辑
摘要: method Go does not have classes. However, you can define methods on types. 输出如下: 5101020 三个注意点: 1. Methods with pointer receivers can modify the value 阅读全文
posted @ 2017-11-24 15:11 Sawyer Ford 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 连接 查看进程 阅读全文
posted @ 2017-11-19 18:28 Sawyer Ford 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 什么是回文?举两个栗子 上海自来水来自海上 黄山落叶松叶落山黄 如何判断链表是不是回文呢? 完美。 阅读全文
posted @ 2017-11-18 20:52 Sawyer Ford 阅读(918) 评论(0) 推荐(0) 编辑
摘要: 面试中经常遇到反转单链表,特此总结。 递归版 算法执行过程如下 非递归版 将头结点后面的结点通过头插法一个个地插入到链表前面。 算法执行流程如下 阅读全文
posted @ 2017-11-18 19:30 Sawyer Ford 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 接上文libevent(九)bufferevent 上文主要讲了bufferevent如何监听读事件,那么bufferevent如何监听写事件呢? 对于一个fd,只要它的写缓冲区没有满,就会触发写事件。 一般情况下,如果不向这个fd发送大量的数据,它的写缓冲区是不会满的。 所以,如果一开始就监听写事 阅读全文
posted @ 2017-11-14 11:09 Sawyer Ford 阅读(493) 评论(2) 推荐(0) 编辑
摘要: bufferevent,带buffer的event 下面简单分析bufferevent相关函数(示例DEMO) bufferevent_socket_new 函数做了4件事: backend结构如下: bufferevent_setcb 该函数主要设置用户回调函数。 bufferevent_enab 阅读全文
posted @ 2017-11-13 18:05 Sawyer Ford 阅读(837) 评论(1) 推荐(0) 编辑