红黑树是一种自平衡的二叉查找树 它具有以下5个性质: 1、节点颜色必须是红色或者黑色 2、根节点是黑色 3、每个叶子节点(NIL节点、空节点)是黑色的 4、每个红色节点的两个子节点都是黑色 5、从任一节点到每个叶子的所有路径都包含数目相同的黑色节点 假设我们插入这些数据:12 23 34 40 45 ...
分类:
其他好文 时间:
2020-01-24 17:18:32
阅读次数:
69
// int64 转字节数组 func IntToHex(num int64) []byte { buf := new(bytes.Buffer) err := binary.Write(buf, binary.BigEndian, num) if err != nil { log.Panic(er ...
分类:
其他好文 时间:
2020-01-22 18:35:11
阅读次数:
82
在用cocosLua 翻写 fairyGUIdemo的C++版本的代码时,发现在写到obj->getGroup()->name 的时候,运行找不到名字; demo中的C++代码为 翻写的代码为 打印的obj:getGroup().name 始终为nil。于是去修改源码,在libfairygui工程中 ...
分类:
其他好文 时间:
2020-01-16 18:53:46
阅读次数:
99
map的实现细节 buckets这个参数,它存储的是指向buckets数组的一个指针,当bucket(桶为0时)为nil。 我们可以理解为,hmap指向了一个空bucket数组, 并且当bucket数组需要扩容时,它会开辟一倍的内存空间,并且会渐进式的把原数组拷贝,即用到旧数组的时候就拷贝到新数组。 ...
分类:
其他好文 时间:
2020-01-14 09:27:56
阅读次数:
87
Go语言-获取命令行参数 1、flag库使用 Go语言标准库提供了用于快讯解析命令行参数的flag包,大致的使用步骤如下 a、通过flag.String(),flag.Bool(),flag.Int()等方式来定义命令行中需要使用的参数。 b、在定义完flag后,通过调用flag.Parse()来进 ...
分类:
编程语言 时间:
2020-01-12 23:39:40
阅读次数:
186
1. package main import ( "fmt" "os" ) func main(){ //file指针 file,err:=os.Open("d:/test.txt") if err!=nil{ fmt.Println("open file err=",err) } //输出文件 f ...
分类:
其他好文 时间:
2020-01-08 13:01:25
阅读次数:
115
判断文件或者目录是否存在,如果目录不存在,则创建 package main import ( "fmt" "os" ) func main() { path := "d:/test.txt" b, err := PathExists(path) if err != nil { fmt.Printf( ...
分类:
其他好文 时间:
2020-01-05 10:17:55
阅读次数:
88
Mac 上也可以通过 homebrew 安装,便于版本管理。brew install lua lua-基础语法-- 注释-- [[]] -- 多行注释, 如果临时取消多行注释,只需要在头部"--" 改为 " "即可下划线加大写字母为关键字变量缺省为nil,删除变量给其赋值nil即可 交互式编程&脚本 ...
分类:
其他好文 时间:
2020-01-02 20:47:58
阅读次数:
92
什么是标识符 标识符用来命名变量、类型等程序实体。标识符是指Go语言对各种变量、方法、函数等命名时使用的字符序列,标识符由若干个字母、下划线_、和数字组成,且第一个字符必须是字母。通俗的讲就是凡可以自己定义的名称都可以叫做标识符。 命名规则 一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字 ...
分类:
编程语言 时间:
2020-01-02 15:51:55
阅读次数:
73
总结一下大文件分片上传和断点续传的问题。因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况。http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件切片(分块),但这不是我们现在说的重点,我们要做的事是保证在网络中断后1G的文件已上传的那部分在下次 ...
分类:
Web程序 时间:
2019-12-31 14:26:37
阅读次数:
219