上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页
摘要: go关键字 协程(异步)管理结构 其实和if switch for等循环结构一样. go 是一种控制结构, 控制协程的启动等生命周期. 并发基础 程序与进程 并发与并行 启动多个协程 协程同步 定时器 "[go]time包" 睡一秒 阅读全文
posted @ 2020-02-02 11:40 mmaotai 阅读(207) 评论(0) 推荐(0) 编辑
摘要: web实时更新技术 http的特点 1. 半双工: 同一个时刻,只能单向传数据(request/response). 2. 服务器不能主动给客户端推消息 轮询(polling) 不断的建立http连接,严重浪费了服务器端和客户端的资源. 人越多,服务器压力越大. 长轮询(long polling)( 阅读全文
posted @ 2020-01-18 15:13 mmaotai 阅读(241) 评论(0) 推荐(1) 编辑
摘要: "Go Web轻量级框架Gin学习系列:中间件使用详解" gin中间件使用 实例 gin.BasicAuth中间件 "参考" "一文读懂HTTP Basic身份认证" 中间件计算一次请求的耗时: c.Next前置 后置 阅读全文
posted @ 2020-01-16 16:46 mmaotai 阅读(3556) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2020-01-14 15:18 mmaotai 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 小结: 当map的值为结构或数组时,要修改值,必须先返回对象, 因为struct/slice被设计为not addressable "[go]map实现通讯录" 阅读全文
posted @ 2020-01-14 01:02 mmaotai 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 虚拟内存映射到物理内存 进程是操作系统进行资源分配的最小单位,而内存是进程运行必不可少的资源。 操作系统为每个进程分配独享的内存空间,这个独享的内存空间只是虚拟内存空间, 每次访问内存空间的某个地址 (虚拟地址),都需要把地址翻译(mmu)成实际物理内存地址。 小结 查看进程的虚拟内存 go数据结构 阅读全文
posted @ 2020-01-13 12:45 mmaotai 阅读(986) 评论(0) 推荐(0) 编辑
摘要: "参考" 代码在硬盘上是一堆二进制 弄清楚文件在硬盘/内存中的存储值 vim查看 :%!xxd 在终端里执行 man ascii 观察发现, 中间列和最右列 是一一对应的。 也就是说,刚刚写完的 hello.go 文件都是由 ASCII 字符表示的(文本文件) 汇编转换位机器指令 go语句转换为机器 阅读全文
posted @ 2020-01-11 14:41 mmaotai 阅读(1267) 评论(0) 推荐(0) 编辑
摘要: slice基础 append函数 如果要扩容slice, 使用append函数(making slice a dynamic data structure). 当append时: 如果cap够, append使用原数组(此原数组元素有被覆盖的风险, 因此 make([],3,3)即len==cap时 阅读全文
posted @ 2020-01-10 22:35 mmaotai 阅读(200) 评论(0) 推荐(0) 编辑
摘要: "参考" goroutine 和 thread thread 内存占用 创建和销毀 切换 m:n模型 Go runtime 会负责 goroutine 的生老病死,从创建到销毁整个生命周期,都一手包办。 在同一时刻,一个线程上只能跑一个 goroutine。 当 goroutine 发生阻塞(例如上 阅读全文
posted @ 2020-01-09 16:40 mmaotai 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 应该从变量说起 下面是c语言中内存, 如果在栈上连续开辟, c中可以看到地址连续变小. 如果在堆上开辟内存, 可以看到内存地址变大. 字长屏蔽了操作系统bit,使代码支持跨平台 字长和操作系统位数有关. "参考" unsafe,顾名思义,是不安全的. 但是它也有它的优势,那就是可以绕过Go的内存安全 阅读全文
posted @ 2020-01-08 12:14 mmaotai 阅读(1196) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 31 下一页