- 博客(265)
- 资源 (1)
- 收藏
- 关注
原创 react-native 自动化构建过程(apk包)
原理图image.png准备工作1.安装android stuido2.react-native源文件(git获取源码)3.安装npm包管理工具4.安装react-native-clinpm install -g react-native-cli步骤分解如下:1.环境切换(CI)react-native源文件 目录结构如下image...
2020-03-23 10:13:47 233
原创 react-native 自动化构建过程(ipa包)
原理图image.png准备工作1.安装xcode2.安装cocospod3.react-native源文件(git获取源码)4.安装npm包管理工具5.安装react-native-clinpm install -g react-native-cli步骤分解如下:1.环境切换(CI)react-native源文件 目录结构如下im...
2020-03-23 10:13:37 325
原创 内置变量和函数
func append(slice []Type, elems ...Type) []Typefunc cap(v Type) intfunc close(c chan<- Type)func complex(r, i FloatType) ComplexTypefunc copy(dst, src []Type) intfunc del...
2018-12-28 08:58:00 126
原创 image
image/gif 包的用法总结要制作一个gif动画文件总共分两步第一步 创建gif结构体实例,设置相关属性type GIF struct {Image []*image.Paletted // 将每一帧的image实例放入这个数组Delay []int // 将每一帧对应的延时时间放入这个数组Loop...
2018-12-28 08:58:00 160
原创 主流加密方式
cipheraesdesmd5sha256dsaecdsaelliptichmacrandrc4rsaaes高级加密标准(英语:Advanced Encryption Standard,缩写:AES),对称加密如美国联邦信息处理标准出版物197中所定义的,aes实现 AES 加密(以前称为 Rijndael)。这个包中的...
2018-12-28 08:58:00 625
原创 容器
来解释一下什么是容器,通俗的将容器就是存放一堆数据的内存块,今天我们手动实现一个堆.下面的方法应该比较熟悉heap.Interface 接口func Fix(h Interface, i int)func Init(h Interface)func Pop(h Interface) interface{}func Push(h Interfac...
2018-12-28 08:57:00 71
原创 归档
什么是tar内容写入归档如何从本地磁盘读取归档文件的内容呢?什么是tar ?tar是“tape archive”(磁带存档)的简称,它出现在还没有软盘驱动器、硬盘和光盘驱动器的计算机早期阶段,随着时间的推移, tar命令逐渐变为一个将很多文件进行存档的工具,目前许多用于Linux操作系统的程序就是打包为tar档案文件的形式。 在Linux里面...
2018-12-28 08:57:00 162
原创 time 用法大全
本章就来学习时间相关的所有操作1.延迟d秒后返回通过信道返回时间值func After(d Duration) <-chan Time示例package mainimport ( "time" "fmt")func main() { date := <- time.After(3*time.Second) f...
2018-12-27 11:32:00 2018
原创 os 了解一下
os包提供了操作系统函数的不依赖平台的接口。设计为Unix风格的,虽然错误处理是go风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。例如,如果某个使用一个文件名的调用(如Open、Stat)失败了,打印错误时会包含该文件名,错误类型将为*PathError,其内部可以解包获得更多信息。os包的接口规定为在所有操作系统中都是一致的。非公...
2018-12-27 10:10:00 237
原创 读取文件
读取文件是一个经常用到的功能,比如从文件目录中读取一张照片,读取一个txt文件,word,excel等等,今天我们就学习一下go是如何读取文件的?本节你将学到的内容如下使用绝对文件路径使用命令行标记来传递文件路径将文件绑定在二进制文件中分块读取文件逐行读取文件使用绝对文件路径我们现在项目中创建一个文件 log.txtima...
2018-12-27 09:50:00 134
原创 用好工作池 WaitGroup
本节学习WaitGroup的用法如何实现工作池WaitGroup的用法WaitGroup 用于实现工作池,因此要理解工作池,我们首先需要学习 WaitGroup。WaitGroup 用于等待一批 Go 协程执行结束。程序控制会一直阻塞,直到这些协程全部执行完毕。假设我们有 3 个并发执行的 Go 协程(由 Go 主协程生成)。Go 主协程需要...
2018-12-27 09:50:00 157
原创 如何检测数据类型
本节我们的要掌握的知识点如下1.怎么判断一个变量的类型package mainimport "fmt"func main(){ var container = []int{1,2,3} value,ok := interface{}(container).([]int) fmt.Println(value) fmt.Printl...
2018-12-27 09:50:00 559
原创 反射的用法
什么是反射?为何需要检查变量,确定变量的类型?reflect 包reflect.Type 和 reflect.Valuereflect.KindNumField() 和 Field() 方法Int() 和 String() 方法我们应该使用反射吗?什么是反射?反射就是程序能够在运行时检查变量和值,求出它们的类型?package m...
2018-12-27 09:49:00 104
原创 索引的作用
如何创建一个索引使用正则表达式索引将索引写入io.writer将数据读取到索引中索引实现了一个快速子字符串的索引,比如我们要在字符传'1234445555644',查找所有字符4出现的下标,使用索引就能已最快的速度计算创建索引New 为数据创建一个新的索引。对于N = len(data),索引创建时间为 O(N*log(N))func (...
2018-12-27 09:49:00 196
原创 路径path的常用操作
路径包只能用于以正斜杠分隔的路径,例如 URL 中的路径。此软件包不处理带有驱动器号或反斜杠的 Windows 路径; 要操作操作系统路径,请使用路径/文件路径包basefunc Base(path string) stringBase 返回路径的最后一个元素。在提取最后一个元素之前删除尾部斜杠。如果路径为空,则 Base 返回“.”。如果路径完全由...
2018-12-26 22:18:00 446
原创 运行时 runtime的神奇用法
runtime 包 提供了运行时与系统的交互,比如控制协程函数,触发垃圾立即回收等等底层操作,下面我们就运行时能做的所有事情逐个进行说明与代码演示1.获取GOROOT环境变量2.获取GO的版本号3.获取本机CPU个数4.设置最大可同时执行的最大CPU数5.设置cup profile 记录的速录6.查看cup profile 下一次堆栈跟踪数据...
2018-12-26 17:22:00 2243
原创 字节bytes的操作大全
本节要讲的内容将是一个重点内容1.字节切片比较2.字节切片判断3.字节切片是否包含另外切片的值4.字节切片是否包含相同UTF-8的字符5.字符切片是否包含相同的 Unicode编码字符6.字符切片a中包含多少组不重复的Unicode编码切片b7.将切片按照空格分割成多个子切片8.将切片按照指定的规则分割成多个子切片9.字节切片是否包含前...
2018-12-26 10:55:00 2254
原创 go-runtime/debug
程序包调试了包含程序在运行时进行调试功能,本节就针对api进行一一讲解1.强制进行垃圾回收2.设置垃圾回收的目标百分比3.设置被单个go协程调用栈可使用的内存最大值4.设置go程序可以使用的最大操作系统线程数5.设置程序请求运行是只触发panic,而不崩溃6.垃圾收集信息的写入stats中7.将内存分配堆和其中对象的描述写入文件中8.获取...
2018-12-26 10:53:00 710
原创 sync
sync包提供了基本的同步基元,如互斥锁。除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些。本包的类型的值不应被拷贝Once 只执行一次操作互斥锁读取写入锁Once 只执行一次操作func (o *Once) Do(f func())注意f是没有参数的函数package m...
2018-12-26 10:51:00 94
原创 net/rpc
rpc包提供了通过网络或其他I/O连接对一个对象的导出方法的访问应用比如我们在服务器注册一个对象,这个对象可以作为一项服务被暴露,服务的名字就是该对象的类型名,注册之后,对象的导出方法就可以被远程访问。服务端可以注册多个不同类型的对象,即多个服务只有满足下面条件的方法才能远程访问方法是导出的方法有两个参数,都是导出类型或内建类型方法的第二...
2018-12-26 10:50:00 130
原创 os/exec
exec包执行外部命令下面演示一个执行ifconfig指令的代码package mainimport ( "log" "os/exec" "fmt" "bytes" )func main() { // 创建命令 cmd := exec.Command("ifconfig") var ...
2018-12-26 10:50:00 89
原创 net/http/pprof
pprof包通过它的HTTP服务端提供pprof可视化工具期望格式的运行时剖面文件数据服务package mainimport ( _ "net/http/pprof" "net/http")func main() { http.ListenAndServe("localhost:8082", nil)}只需要导入...
2018-12-25 09:27:00 1641
原创 net/mail
mail包实现了邮件的解析RFC 5322几个常用的功能将邮件字符串转换成邮件结构体将邮件结构体转换成RFC 5322 规定的字符串形式将一连串字符串邮件格式转换为邮件结构体数组读取邮件获取邮件的header和body读取邮件header的相关数据下面我们看对应的方法实现邮件地址结构type Address struct { ...
2018-12-25 09:27:00 180
原创 net/textproto
textproto实现了对基于文本的请求/回复协议的一般性支持,包括HTTP、NNTP和SMTP主要功能如下1.格式化MIME头的键2.去掉ascii编码字符切片的空白3.MIMEHeader 功能介绍4.创建网络连接5.写入数据6.读取数据1.格式化MIME头的键标准化 MIME 头: Accept-Encoding 字符连接的单词...
2018-12-25 09:27:00 584
原创 net/url
url包解析URL的重要工具,我们研究一下里面的具体功能1.URL 介绍2.查询条件进行转码,可以安全的使用在URL查询3.将QueryEscape转码的字符串还原4.将url字符串,解析为请求需要的字符格式5.获取编码好的请求资源路径URI6.检查请求是否为绝度路径URL7.查询条件的操作1.URL 介绍URL基本格式如下sche...
2018-12-25 09:27:00 373
原创 net/smtp
smtp包实现了简单邮件传输协议(SMTP),参见RFC 5321。同时本包还实现了如下扩展8BITMIME RFC 1652AUTH RFC 2554STARTTLS RFC 3207SMPT来源于百度我们简单描述了一下发送邮件的过程用户A 调用自己的邮件代理程序并提供 用户B 的邮件地址,撰写报文,然后...
2018-12-25 09:27:00 1644
原创 net/httptrace
追踪客户端请求各阶段package mainimport ( "fmt" "net/http" "net/http/httptrace" "log" "io/ioutil")func main() { req, _ := http.NewRequest("GET", "http://example...
2018-12-25 09:26:00 301
原创 net/httputil
httputil包提供了HTTP公用函数,是对net/http包的更常见函数的补充反向代理的实现NewSingleHostReverseProxy返回一个新的ReverseProxy。返回值会将请求的URL重写为target参数提供的协议、主机和基路径。如果target参数的Path字段为"/base",接收到的请求的URL.Path为"/dir"...
2018-12-25 09:26:00 469
原创 net
net 包提供了可移植的网络i/o接口,包括TCP/IP、UDP、域名解析和Unix域socketiPv4 和 ipv6const ( IPv4len = 4 IPv6len = 16)ipv4 长度4个字节,ipv6长度16个字节IPv4(255, 255, 255, 255)ipv6 IP{0xff, 0x01, 0, ...
2018-12-25 09:26:00 205
原创 encoding/pem
pem包实现了PEM数据编码(源自保密增强邮件协议)。目前PEM编码主要用于TLS密钥和证书PEM 编码格式如下-----BEGIN Type-----Headersbase64-encoded Bytes-----END Type-----编码func Encode(out io.Writer, b *Block) errortype...
2018-12-25 09:26:00 514
原创 net/http
http 包实现了http客户端与服务端的实现1.创建http客户端2.客户端发起get,post,postForm请求演示3.自定义客户端请求4.创建服务端5.自定义服务端配置6.解析HTTP版本号7.将不同格式的时间字符串,转换成标准time结构8.获取http状态码Status 对应的文本信息9.监测服务器与客户端的连接状态10...
2018-12-25 09:26:00 911
原创 encoding/json
json 包实现了json对象的编解码获取v变量的json编码将json编码的数据存入到解析v变量中如何实现延时解析实现标准HTML转义实现json字符串格式缩进和前缀剔除编码后数据中的空白字符结构体json编码选项应用获取v变量的json编码func Marshal(v interface{}) ([]byte, error)pa...
2018-12-25 09:26:00 950
原创 go-runtime/trace
执行追踪器,跟踪器捕获各种各样的时间,如go协程的创建、阻塞、解锁,syscall 进入、退出、阻塞、GC相关时间,堆大小变化,处理器启动、停止等,将这些事件写入到io.writor中,大多数时间都会捕获到精确的纳秒精度时间戳如何创建go执行追踪器如何停止追踪器如何查看追踪器记录的数据如何创建go执行追踪器func Start(w io.Wr...
2018-12-25 09:25:00 388
原创 encoding/gob
import "encoding/gob"gob包管理gob流——在编码器(发送器)和解码器(接受器)之间交换的binary值。一般用于传递远端程序调用(RPC)的参数和结果,如net/rpc包就有提供。本实现给每一个数据类型都编译生成一个编解码程序,当单个编码器用于传递数据流时,会分期偿还编译的消耗,是效率最高的。基本特点1.gob流是自解码的...
2018-12-25 09:25:00 866
原创 encoding/hex
hex 实现了16进制字符表示编解码func Encode(dst,src []byte)intfunc EncodeToString(src []byte)stringfunc Decode(dst,src []byte)(int,error)func DecodeString(src []byte)(string,error)func Dec...
2018-12-25 09:25:00 382
原创 encoding/ascii85
ascii85包实现了ascii85数据编码(5个ascii字符表示4个字节),该编码用于btoa工具和Adobe的PostScript语言和PDF文档格式。编码func Encode(dst, src []byte) int将src编码成最多MaxEncodedLen(len(src))数据写入dst,返回实际写入的字节数。编码每4字节一段进行一次...
2018-12-25 09:25:00 1195
原创 encoding/base64
base64实现了RFC 4648规定的base64编码RFC 4648标准化了两种字符集。默认字符集用于MIME(RFC 2045)和PEM(RFC 1421)编码,RFC 4648定义的另一base64编码字符集,用于URL和文件名用'-'和'_'替换了'+'和'/'对字符进行编解码var StdEncoding = NewEncoding(en...
2018-12-25 09:25:00 740
原创 sort
sort包包含了切片排序和用户自定义数据集的相关函数,主要功能如下计算长度比较两个下标对应值的大小排序根据不同key值排序多key值组合排序排序的包装模式IsSorted 检查对象是否已经被排过序Reverse 反向排列计算整数切片的长度func (p IntSlice) Len() intimport ( "sort"...
2018-12-25 09:25:00 75
原创 错误处理
什么是错误?错误的表示获取错误详细信息的各种方法不能忽视错误先看一个例子package mainimport ( "fmt" "os")func main() { f, err := os.Open("/test.txt") if err != nil { fmt.Println(er...
2018-12-25 09:24:00 155
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人