自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 react-native 自动化构建过程(apk包)

原理图 image.png 准备工作 1.安装android stuido 2.react-native源文件(git获取源码) 3.安装npm包管理工具 4.安装react-native-cli npm install -g react-native-cli 步骤分解如下: 1....

2020-03-23 10:13:47 33 0

原创 react-native 自动化构建过程(ipa包)

原理图 image.png 准备工作 1.安装xcode 2.安装cocospod 3.react-native源文件(git获取源码) 4.安装npm包管理工具 5.安装react-native-cli npm install -g react-native-cli 步骤分解如下:...

2020-03-23 10:13:37 37 0

原创 内置变量和函数

func append(slice []Type, elems ...Type) []Type func cap(v Type) int func close(c chan<- Type) func complex(r, i FloatType) ComplexType func c...

2018-12-28 08:58:00 28 0

原创 image

image/gif 包的用法总结 要制作一个gif动画文件总共分两步 第一步 创建gif结构体实例,设置相关属性 type GIF struct { Image []*image.Paletted // 将每一帧的image实例放入这个数组 Delay []int ...

2018-12-28 08:58:00 36 0

原创 主流加密方式

cipher aes des md5 sha256 dsa ecdsa elliptic hmac rand rc4 rsa aes 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),对称加密 如美国联邦信息处理标准出版物197中所定义的,aes实现...

2018-12-28 08:58:00 148 0

原创 容器

来解释一下什么是容器,通俗的将容器就是存放一堆数据的内存块,今天我们手动实现一个堆. 下面的方法应该比较熟悉 heap.Interface 接口 func Fix(h Interface, i int) func Init(h Interface) func Pop(h Interface) in...

2018-12-28 08:57:00 22 0

原创 归档

什么是tar 内容写入归档 如何从本地磁盘读取归档文件的内容呢? 什么是tar ? tar是“tape archive”(磁带存档)的简称,它出现在还没有软盘驱动器、硬盘和 光盘驱动器的计算机早期阶段,随着时间的推移, tar命令逐渐变为一个将很多文件进行存档的工具,目前许多用于Linux操作系...

2018-12-28 08:57:00 32 0

原创 time 用法大全

本章就来学习时间相关的所有操作 1.延迟d秒后返回通过信道返回时间值 func After(d Duration) <-chan Time 示例 package main import ( "time" "fmt" ) func m...

2018-12-27 11:32:00 274 0

原创 os 了解一下

os包提供了操作系统函数的不依赖平台的接口。设计为Unix风格的,虽然错误处理是go风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。例如,如果某个使用一个文件名的调用(如Open、Stat)失败了,打印错误时会包含该文件名,错误类型将为*PathError,其内部可以解包获得更...

2018-12-27 10:10:00 28 0

原创 读取文件

读取文件是一个经常用到的功能,比如从文件目录中读取一张照片,读取一个txt文件,word,excel等等,今天我们就学习一下go是如何读取文件的? 本节你将学到的内容如下 使用绝对文件路径 使用命令行标记来传递文件路径 将文件绑定在二进制文件中 分块读取文件 逐行读取文件 使用绝对文件路径 ...

2018-12-27 09:50:00 21 0

原创 用好工作池 WaitGroup

本节学习 WaitGroup的用法 如何实现工作池 WaitGroup的用法 WaitGroup 用于实现工作池,因此要理解工作池,我们首先需要学习 WaitGroup。 WaitGroup 用于等待一批 Go 协程执行结束。程序控制会一直阻塞,直到这些协程全部执行完毕。假设我们有 3 个并发...

2018-12-27 09:50:00 36 0

原创 如何检测数据类型

本节我们的要掌握的知识点如下 1.怎么判断一个变量的类型 package main import "fmt" func main(){ var container = []int{1,2,3} value,ok := interface{}(container).(...

2018-12-27 09:50:00 28 0

原创 反射的用法

什么是反射? 为何需要检查变量,确定变量的类型? reflect 包 reflect.Type 和 reflect.Value reflect.Kind NumField() 和 Field() 方法 Int() 和 String() 方法 我们应该使用反射吗? 什么是反射? 反射就是程序能够...

2018-12-27 09:49:00 15 0

原创 索引的作用

如何创建一个索引 使用正则表达式索引 将索引写入io.writer 将数据读取到索引中 索引实现了一个快速子字符串的索引,比如我们要在字符传'1234445555644',查找所有字符4出现的下标,使用索引就能已最快的速度计算 创建索引 New 为数据创建一个新的索引。对于N...

2018-12-27 09:49:00 68 0

原创 路径path的常用操作

路径包只能用于以正斜杠分隔的路径,例如 URL 中的路径。此软件包不处理带有驱动器号或反斜杠的 Windows 路径; 要操作操作系统路径,请使用路径/文件路径包 base func Base(path string) string Base 返回路径的最后一个元素。在提取最后一个元素之前删除尾部...

2018-12-26 22:18:00 174 0

原创 运行时 runtime的神奇用法

runtime 包 提供了运行时与系统的交互,比如控制协程函数,触发垃圾立即回收等等底层操作,下面我们就运行时能做的所有事情逐个进行说明与代码演示 1.获取GOROOT环境变量 2.获取GO的版本号 3.获取本机CPU个数 4.设置最大可同时执行的最大CPU数 5.设置cup profile 记...

2018-12-26 17:22:00 220 0

原创 字节bytes的操作大全

本节要讲的内容将是一个重点内容 1.字节切片比较 2.字节切片判断 3.字节切片是否包含另外切片的值 4.字节切片是否包含相同UTF-8的字符 5.字符切片是否包含相同的 Unicode编码字符 6.字符切片a中包含多少组不重复的Unicode编码切片b 7.将切片按照空格分割成多个子切片 8....

2018-12-26 10:55:00 327 0

原创 go-runtime/debug

程序包调试了包含程序在运行时进行调试功能,本节就针对api进行一一讲解 1.强制进行垃圾回收 2.设置垃圾回收的目标百分比 3.设置被单个go协程调用栈可使用的内存最大值 4.设置go程序可以使用的最大操作系统线程数 5.设置程序请求运行是只触发panic,而不崩溃 6.垃圾收集信息的写入sta...

2018-12-26 10:53:00 83 0

原创 sync

sync包提供了基本的同步基元,如互斥锁。除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些。 本包的类型的值不应被拷贝 Once 只执行一次操作 互斥锁 读取写入锁 Once 只执行一次操作 func (o *Once) Do(f...

2018-12-26 10:51:00 18 0

原创 net/rpc

rpc包提供了通过网络或其他I/O连接对一个对象的导出方法的访问 应用 比如我们在服务器注册一个对象,这个对象可以作为一项服务被暴露,服务的名字就是该对象的类型名,注册之后,对象的导出方法就可以被远程访问。服务端可以注册多个不同类型的对象,即多个服务 只有满足下面条件的方法才能远程访问 方法是导...

2018-12-26 10:50:00 22 0

原创 os/exec

exec包执行外部命令 下面演示一个执行ifconfig指令的代码 package main import ( "log" "os/exec" "fmt" "bytes" ) ...

2018-12-26 10:50:00 31 0

原创 net/http/pprof

pprof包通过它的HTTP服务端提供pprof可视化工具期望格式的运行时剖面文件数据服务 package main import ( _ "net/http/pprof" "net/http" ) func main() { h...

2018-12-25 09:27:00 277 0

原创 net/mail

mail包实现了邮件的解析 RFC 5322 几个常用的功能 将邮件字符串转换成邮件结构体 将邮件结构体转换成RFC 5322 规定的字符串形式 将一连串字符串邮件格式转换为邮件结构体数组 读取邮件获取邮件的header和body 读取邮件header的相关数据 下面我们看对应的方法实现 邮件...

2018-12-25 09:27:00 49 0

原创 net/textproto

textproto实现了对基于文本的请求/回复协议的一般性支持,包括HTTP、NNTP和SMTP 主要功能如下 1.格式化MIME头的键 2.去掉ascii编码字符切片的空白 3.MIMEHeader 功能介绍 4.创建网络连接 5.写入数据 6.读取数据 1.格式化MIME头的键 标准化 M...

2018-12-25 09:27:00 94 0

原创 net/url

url包解析URL的重要工具,我们研究一下里面的具体功能 1.URL 介绍 2.查询条件进行转码,可以安全的使用在URL查询 3.将QueryEscape转码的字符串还原 4.将url字符串,解析为请求需要的字符格式 5.获取编码好的请求资源路径URI 6.检查请求是否为绝度路径URL 7.查询...

2018-12-25 09:27:00 40 0

原创 net/smtp

smtp包实现了简单邮件传输协议(SMTP),参见RFC 5321。同时本包还实现了如下扩展 8BITMIME RFC 1652 AUTH RFC 2554 STARTTLS RFC 3207 SMPT 来源于百度 我们简单描述了一下发送邮件的过程 用户A 调用...

2018-12-25 09:27:00 135 0

原创 net/httptrace

追踪客户端请求各阶段 package main import ( "fmt" "net/http" "net/http/httptrace" "log" "io/io...

2018-12-25 09:26:00 67 0

原创 net/httputil

httputil包提供了HTTP公用函数,是对net/http包的更常见函数的补充 反向代理的实现 NewSingleHostReverseProxy返回一个新的ReverseProxy。返回值会将请求的URL重写为target参数提供的协议、主机和基路径。如果target参数的Path字段为...

2018-12-25 09:26:00 71 0

原创 net

net 包提供了可移植的网络i/o接口,包括TCP/IP、UDP、域名解析和Unix域socket iPv4 和 ipv6 const ( IPv4len = 4 IPv6len = 16 ) ipv4 长度4个字节,ipv6长度16个字节 IPv4(255, 255, 255,...

2018-12-25 09:26:00 42 0

原创 encoding/pem

pem包实现了PEM数据编码(源自保密增强邮件协议)。目前PEM编码主要用于TLS密钥和证书 PEM 编码格式如下 -----BEGIN Type----- Headers base64-encoded Bytes -----END Type----- 编码 func Encode(out i...

2018-12-25 09:26:00 90 0

原创 net/http

http 包实现了http客户端与服务端的实现 1.创建http客户端 2.客户端发起get,post,postForm请求演示 3.自定义客户端请求 4.创建服务端 5.自定义服务端配置 6.解析HTTP版本号 7.将不同格式的时间字符串,转换成标准time结构 8.获取http状态码Stat...

2018-12-25 09:26:00 78 0

原创 encoding/json

json 包实现了json对象的编解码 获取v变量的json编码 将json编码的数据存入到解析v变量中 如何实现延时解析 实现标准HTML转义 实现json字符串格式缩进和前缀 剔除编码后数据中的空白字符 结构体json编码选项应用 获取v变量的json编码 func Marshal(v i...

2018-12-25 09:26:00 68 0

原创 go-runtime/trace

执行追踪器,跟踪器捕获各种各样的时间,如go协程的创建、阻塞、解锁,syscall 进入、退出、阻塞、GC相关时间,堆大小变化,处理器启动、停止等,将这些事件写入到io.writor中,大多数时间都会捕获到精确的纳秒精度时间戳 如何创建go执行追踪器 如何停止追踪器 如何查看追踪器记录的数据 ...

2018-12-25 09:25:00 38 0

原创 encoding/gob

import "encoding/gob" gob包管理gob流——在编码器(发送器)和解码器(接受器)之间交换的binary值。一般用于传递远端程序调用(RPC)的参数和结果,如net/rpc包就有提供。 本实现给每一个数据类型都编译生成一个编解码程序,当单个编码器用于传递数...

2018-12-25 09:25:00 42 0

原创 encoding/hex

hex 实现了16进制字符表示编解码 func Encode(dst,src []byte)int func EncodeToString(src []byte)string func Decode(dst,src []byte)(int,error) func DecodeString(src ...

2018-12-25 09:25:00 88 0

原创 encoding/ascii85

ascii85包实现了ascii85数据编码(5个ascii字符表示4个字节),该编码用于btoa工具和Adobe的PostScript语言和PDF文档格式。 编码 func Encode(dst, src []byte) int 将src编码成最多MaxEncodedLen(len(src))数...

2018-12-25 09:25:00 157 0

原创 encoding/base64

base64实现了RFC 4648规定的base64编码 RFC 4648标准化了两种字符集。默认字符集用于MIME(RFC 2045)和PEM(RFC 1421)编码,RFC 4648定义的另一base64编码字符集,用于URL和文件名用'-'和'_'替换...

2018-12-25 09:25:00 138 0

原创 sort

sort包包含了切片排序和用户自定义数据集的相关函数,主要功能如下 计算长度 比较两个下标对应值的大小 排序 根据不同key值排序 多key值组合排序 排序的包装模式 IsSorted 检查对象是否已经被排过序 Reverse 反向排列 计算整数切片的长度 func (p IntSlice) ...

2018-12-25 09:25:00 23 0

原创 错误处理

什么是错误? 错误的表示 获取错误详细信息的各种方法 不能忽视错误 先看一个例子 package main import ( "fmt" "os" ) func main() { f, err := os.Open("...

2018-12-25 09:24:00 30 0

原创 函数

本节学习几种函数 匿名函数 高阶函数 闭包 头等函数的作用 匿名函数 什么是匿名函数? 通俗的讲就是没有函数名的函数 package main import "fmt" func main() { add := func (x,y int)int{ ...

2018-12-25 09:24:00 10 0

提示
确定要删除当前文章?
取消 删除