1. string:通用字符串操作 string模块在很早的Python版本中就有了.以前这个模块中提供的很多函数已经移植为str对象的方法,不过这个模块仍保留了很多有用的常量和类来处理str对象. 1.1 常量 string.ascii_letters 下文所述ascii_lowercase和ascii_uppercase常量的拼接.该值不依赖于语言区域. string.ascii_lowercase 小写字母‘abcdefghijklmnopqrstuvwxyz’.此值不依赖于语言环境,并且…
参考:https://studygolang.com/pkgdoc 概念解释: request:用户请求的信息,用来解析用户的请求信息,包括post.get.cookie.url等信息 response:服务器返回给客户端的信息 conn:用户的每次请求链接 handler:处理请求和生成返回信息的处理逻辑 该图来自https://www.sohu.com/a/208720509_99960938 下面的内容来自http://www.runoob.com/http/http-messages.h…
参考:https://studygolang.com/pkgdoc 导入方式: import "database/sql" sql包提供了保证SQL或类SQL数据库的泛用接口. 使用sql包时必须注入(至少)一个数据库驱动.相关可见go标准库的学习-database/sql/driver 1.空值 参考:https://yq.aliyun.com/articles/178898?utm_content=m_29337 当用户认为数据库中的某一列不会出现空值(即nil)而将该列设置为基本…
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/md5" md5包实现了MD5哈希算法,参见RFC 1321. Constants MD5字节块大小. MD5校验和字节数. func Sum func Sum(data []byte) [Size]byte 返回数据data的MD5校验和. 举例: package main import ( "fmt" "crypto/md5" ) f…
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/sha1" sha1包实现了SHA1哈希算法,参见RFC 3174. Constants SHA1的块大小. SHA1校验和的字节数. func Sum func Sum(data []byte) [Size]byte 返回数据data的SHA1校验和. 举例: package main import ( "fmt" "crypto/sha1&qu…
参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/sha256" sha256包实现了SHA224和SHA256哈希算法,参见FIPS 180-4. Constants SHA224和SHA256的字节块大小. SHA256校验和的字节长度. SHA224校验和的字节长度. func Sum256 func Sum256(data []byte) [Size]byte 返回数据的SHA256校验和. 举例: package m…
参考https://studygolang.com/pkgdoc 标准库path中有的该path/filepath库中都有,所以一般都使用path/filepath 导入方式: import "path/filepath" filepath包实现了兼容各操作系统的文件路径的实用操作函数. 1)constants常量 const ( Separator = os.PathSeparator //"/" ListSeparator = os.PathListSepara…
参考https://studygolang.com/pkgdoc 导入方式: import "io" o包提供了对I/O原语的基本接口.本包的基本任务是包装这些原语已有的实现(如os包里的原语),使之成为共享的公共接口,这些公共接口抽象出了泛用的函数并附加了一些相关的原语的操作. 因为这些接口和原语是对底层实现完全不同的低水平操作的包装,除非得到其它方面的通知,客户端不应假设它们是并发执行安全的. ⚠️os 包有三个可用变量 os.Stdout ,os.Stdin 和 os.Stder…
参考https://studygolang.com/pkgdoc 导入方式: import "bufio" bufio包实现了有缓冲的I/O.它包装一个io.Reader或io.Writer接口对象,创建另一个也实现了该接口,且同时还提供了缓冲和一些文本I/O的帮助函数的对象. bufio包的读写模块提供了针对字节或字符串类型的缓冲机制,因此很适合用于读写UTF-8编码的文本文件 1. type Reader type Reader struct { buf []byte rd io.…
#2个标准库模块放一起学习,这样减少占用地方和空间#标准库之compileall字节编译源文件import compileall,re,sys#作用是查找到python文件,并把它们编译成字节码表示,将结果保存到.pyc,pyo文件中#编译一个目录#compile_dirr()递归地扫描一个目录,并对其中文件完成字节编译compileall.compile_dir(r'b')#默认情况下,所有子目录都会扫描,直到尝试达到10#筛选目录,可以使用rx参数提供一个正则表达式来匹配要排除的目录名com…
#标准库:StringIO提供类文件API文本缓冲区#作用:可以处理内存中的文本,有2种不同的实现:cStringIP版本用c编写提高速度,StringIO用python来提供可移植性,与其他字符串连接相比,cStringIO构造大字符串提供了更好的性能#示例try:    from cStringIO import StringIOexcept:    from  StringIO import StringIO#写入缓冲区out=StringIO()out.write('buffer.')p…
# -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#标准库:日期时间基础学习:calendar:处理日期#例1import calendarc=calendar.TextCalendar(calendar.SUNDAY)c.prmonth(2015,3)#prmonth()简单函数,生成一个月的格式文件输出#TextCalendar()从星期天(为第一天,因为老外是从星期天开始算第一天的)#利用HTMLCalendar和forma…
简介 <C标准库>书中对 C 标准库中的 15 个头文件的内容进行了详细的介绍,包括各头文件设计的背景知识.头文件中的内容.头文件中定义的函数和变量的使用.实现.测试等. 我学习此书的目的是了解 C 标准库中的内容及使用方式.出于便于使用的目的,此笔记中主要记录了各头文件中的宏定义.函数的含义和使用方式. 目录 文档:C标准库…
#python标准库基础之:linecacge:高效读取文本文件#说明与作用"""可以从文件或者导入python模块获取文件,维护一个结果缓存,从而可以更高效地从相同文件读取多行文本;此模块会在python标准库的其他部分中用到,缓存实现将在内存中保存文件内容(解析为单独的行).API通过索引一个列表返回所请求的行.与反复地读取文件并解析文本来查找所需文本行相比,这样可以节省时间,这个方法在查找同一个文件中多行尤其有用 ,比如一个异常."""im…
参考https://studygolang.com/pkgdoc 导入方式: import "strings" strings包实现了用于操作字符的简单函数. 常用的几个函数: func Contains func Contains(s, substr string) bool 判断字符串s是否包含子串substr. 举例: package main import( "fmt" "strings" ) func main() { fmt.Prin…
参考:https://studygolang.com/pkgdoc 导入方式: import "encoding/base64" base64实现了RFC 4648规定的base64编码.Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符(即6Bits)来表示二进制数据(即8Bits)的方法.Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息,这样更适合放在URL中进行传递.此时,采用Base64编码…
参考:https://studygolang.com/pkgdoc 导入方法: import "net/rpc" RPC(Remote Procedure Call Protocol)就是想实现函数调用模式的网络化,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. 客户端就像调用本地函数一样,然后客户端把这些参数打包之后通过网络传给服务端,服务端解包到处理过程中执行,然后执行结果返回给客户端 运行时一次客户机对服务器的RPC调用步骤有: 调用客户端句柄,执行…
参考https://studygolang.com/pkgdoc 导入方式: import "os" os包提供了操作系统函数的不依赖平台的接口 一开始简单举个例子: package main import( "fmt" "os" "log" ) func main() { file, err := os.Open("test.txt") if err != nil{ log.Fatal(err) } da…
参考: https://studygolang.com/pkgdoc http://c.biancheng.net/golang/concurrent/ 导入方式: import "reflect" reflect包实现了运行时反射,允许程序操作任意类型的对象.主要是实现了泛型,比如在一个函数中能根据传入的参数来确定参数的类型,而不是一开始就指定参数类型,这样一个函数就可以支持所有类型: func Minimum(first interface{}, rest ...interface…
参考:https://studygolang.com/pkgdoc 导入方式: import "regexp" regexp包实现了正则表达式搜索. 正则表达式采用RE2语法(除了\c.\C),和Perl.Python等语言的正则基本一致. 参见http://code.google.com/p/re2/wiki/Syntax. 1)判断是否匹配 下面的三个函数都实现了同一个功能,就是判断pattern是否和输入源匹配,匹配就返回true,如果解析正则出错则返回error.三者的区别在于…
关于字符串的处理,基本上就是那几种操作:字符串长度.查找子字符串的位置.替换字符串.截取字符串.拆分合并字符串 ... 字符串的定义:直接 $str = "abcd"; 或者 $str = 'xyzi'; 其中双引号和单引号的区别在于:双引号能够转义一些特殊字符,如\n .\t .$.因为能够转义$符,故能够将双引号中的变量转换. 一般情况下推荐使用单引号,因为它的解析速度稍快. 字符串长度 strlen($str); //返回当前编码下字符串的长度,默认是ISO-8859-1编码 如…
#glob文件名模式匹配#作用:使用unix shell规则查找与一个模式匹配文件名"""尽管glob api很小,但这个模块很强大,只要程序需要查找文件系统中名字与某种模式匹配一组文件,就可以使用此模块,要创建一个文件名列表,要求其中各个文件名都某个特定的扩展名,前缀或者中间都有某个共同字符串.就可以使用glob而不是编写定制代码来扫描目录内容.glob模式与正则re模式使用正则表达式并不相同,实际上.glob模式遵循标准unix路径扩展规则,只使用几个特殊字符来实现2个不…
参考:https://studygolang.com/pkgdoc 导入方式: import "runtime" runtime包提供和go运行时环境的互操作,如控制go程的函数.它也包括用于reflect包的低层次类型信息:参见reflect报的文档获取运行时类型系统的可编程接口. 1.constant常量 const GOOS string = theGoos GOOS是可执行程序的目标操作系统(将要在该操作系统的机器上执行):darwin.freebsd.linux等. 可以用来…
参考https://studygolang.com/pkgdoc 导入方式: import "fmt" mt包实现了类似C语言printf和scanf的格式化I/O.格式化动作('verb')源自C语言但更简单. func Printf func Printf(format string, a ...interface{}) (n int, err error) Printf根据format参数生成格式化的字符串并写入标准输出os.stdout.返回写入的字节数和遇到的任何错误. fu…
https://studygolang.com/pkgdoc 导入方法: import "sync" sync包提供了基本的同步基元,如互斥锁.除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些. 本包的类型的值不应被拷贝. 1)type Locker type Locker interface { Lock() //用来设置互斥量的上锁 Unlock() //用来解锁互斥量 } Locker接口代表一个可以加锁和解锁的对象…
参考:https://studygolang.com/pkgdoc 导入方式: import "mime/multipart" multipart实现了MIME的multipart解析,参见RFC 2046.该实现适用于HTTP(RFC 2388)和常见浏览器生成的multipart主体. 1.什么是multipart/form-data(来自https://blog.csdn.net/five3/article/details/7181521) multipart/form-data…
参考:https://studygolang.com/pkgdoc 导入方法: import "mime" mime实现了MIME的部分规定. 什么是MIME: MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理. 之后则是用来设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开…
参考:https://studygolang.com/pkgdoc 导入方式: import "text/template" template包实现了数据驱动的用于生成文本输出的模板.其实简单来说就是将一组文本嵌入另一组文本模版中,返回一个你期望的文本 如果要生成HTML格式的输出,参见html/template包,该包提供了和本包相同的接口,但会自动将输出转化为安全的HTML格式输出,可以抵抗一些网络攻击. 用作模板的输入文本必须是utf-8编码的文本."Action&qu…
参考:https://studygolang.com/pkgdoc 1>导入方式: import "database/sql/driver" driver包定义了应被数据库驱动实现的接口,这些接口会被sql包使用. 绝大多数代码应使用sql包. 2>driver.Driver - 在database/sql/driver中 Driver是一个数据库驱动的接口,其定义了一个Open(name string)方法,该方法返回一个数据库的Conn接口: type Driver i…
参考https://studygolang.com/pkgdoc 导入方式: import "encoding/json" json包实现了json对象的编解码,参见RFC 4627.Json对象和go类型的映射关系请参见Marshal和Unmarshal函数的文档. 参见"JSON and Go"获取本包的一个介绍:http://golang.org/doc/articles/json_and_go.html func Unmarshal func Unmarsh…