标签:Python
Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 当关闭一个channel时,会使得这个channel变得可读。通过这个特性,可以实现一个goroutine执行顺序的技巧。 如果一
worker pool简介 worker pool其实就是线程池thread pool。对于go来说,直接使用的是goroutine而非线程,不过这里仍然以线程来解释线程池。 在线程池模型中,有2个队列一个池子:任务队列、已完成任务队列和线程池。其中已完成任务队列可能存在也可能不存在,依据实际需求而
惰性数值生成器是指在需要的时候才生成下一个数值,不需要的时候就卡在那。这和python的列表推导表达式类似。惰性生成器的好处是不会一次性将全部结果返回或放进内存,而是每次只返回一个,这样不会在某一时刻大量占用内存和其它资源。 比如,要生成10W个数值,如果要迭代这10W个数值,有两种方法。第一种方法
Multiplexer根据URL将请求路由给指定的Handler。Handler用于处理请求并给予响应。更严格地说,用来读取请求体、并将请求对应的响应字段(respones header)写入ResponseWriter中,然后返回。 什么是Handler 什么是Handler。它是一个接口,定义
URL也是一个结构体: type URL struct { Scheme string Opaque string // encoded opaque data User *Userinfo // username a
ServeMux简介 ServeMux扮演的角色是Multiplexer,它用来将将请求根据url路由给已注册的handler。如下图: 上图中为3个路径注册了handler,一个是"/",另外两个是"/hello"和"/world"。这表示访问http://hostname/hello时,mul
HttpRouter是一个轻量级但却非常高效的multiplexer。手册:https://godoc.org/github.com/julienschmidt/httprouterhttps://github.com/julienschmidt/httprouter 用法示例 package ma
处理请求 Request和Response http Requset和Response的内容包括以下几项: Request or response line Zero or more headers An empty line, followed by … … an optional message
Cookie用来解决http协议无状态的问题。 首先,在服务端生成Cookie,然后在http响应header中设置Set-Cookie字段,客户端会读取到Set-Cookie字段后,会将cookie信息存储起来,下次继续访问服务端时,会在http请求中设置Cookie字段并发送给服务端,服务端可以
数据可以存储在内存中、文件中、按二进制序列化存储的文件中、数据库中等。 1.内存存储 2.CSV文件存储 3.gob序列化存储 内存存储 将数据存储到内存中。此处所指的内存是指应用程序自身的内存空间(如slice、array、map、struct、队列、树等等容器),而不是外部的内存数据库(如re
存储到CSV文件中 1.内存存储 2.CSV文件存储 3.gob序列化存储 本文接上一篇:内存存储。 关于CSV文件的说明,见csv文件格式 当数据存储到了内存中,可以在需要的时候持久化保存到磁盘文件中。比如保存为csv格式的文件,下一篇再介绍序列化持久到文件中。 下面是持久化到csv文件的函数代
序列化持久存储gob 1.内存存储 2.CSV文件存储 3.gob序列化存储 本篇文章仍然接前面的文章:内存存储,主要介绍将博客文章数据序列化持久到文件中。 encoding/gob包用于编码器和解码器之间进行二进制流的数据交换,例如发送端和接收端之间交换数据。也能用来实现对象序列化,并持久保存的
本文只关注Go text/template的底层结构,带上了很详细的图片以及示例帮助理解,有些地方也附带上了源码进行解释。有了本文的解释,对于Go template的语法以及html/template的用法,一切都很简单。 关于template的语法以及具体使用方法,见:Go template用法详
本文只介绍template的语法和用法,关于template包的函数、方法、template的结构和原理,见:深入剖析Go template。 入门示例 以下为test.html文件的内容,里面使用了一个template语法{{.}}。 <!DOCTYPE html> <html&
json数据格式 参见json数据格式说明。 如果没操作过json数据,建议先看下上面的文章,有助于理解本文后面的内容。 Go json包 Marshal():Go数据对象 -> json数据 UnMarshal():Json数据 -> Go数据对象 func Marshal(v int
默认情况下,(Windows)vscode的安装路径为C:Users用户名.vscodeextensions。 如果想要自定义扩展的安装路径,无法直接在vscode中修改。但是,在启动vscode的时候,可以指定扩展路径。 cmd$ D:VSCodebincode --help Usage: co
正则表达式 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串”,这个 “规则字符串” 用来表达对字符串的一种过滤逻辑。 我们先来看一个正则与 re 模块的例子 判断手机号是否合法 #while 实现 while True