09 2018 档案
go语言学习--指针的理解
摘要:Go 的原生数据类型可以分为基本类型和高级类型,基本类型主要包含 string, bool, int 及 float 系列,高级类型包含 struct,array/slice,map,chan, func 。 相比 Java,Python,Javascript 等引用类型的语言,Golang 拥有类 阅读全文
posted @ 2018-09-23 18:04 ZhanLi 阅读(1710) 评论(0) 推荐(1) 编辑
go语言学习--channel的关闭
摘要:在使用Go channel的时候,一个适用的原则是不要从接收端关闭channel,也不要在多个并发发送端中关闭channel。换句话说,如果sender(发送者)只是唯一的sender或者是channel最后一个活跃的sender,那么你应该在sender的goroutine关闭channel,从而 阅读全文
posted @ 2018-09-23 17:36 ZhanLi 阅读(1024) 评论(0) 推荐(0) 编辑
MySQL学习----索引的使用
摘要:一、什么是索引?为什么要建立索引? 索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部 阅读全文
posted @ 2018-09-23 13:27 ZhanLi 阅读(295) 评论(0) 推荐(0) 编辑
go语言学习--map中键值得删除
摘要:测试 map1 中是否存在 key1: 在例子 8.1 中,我们已经见过可以使用 val1 = map1[key1] 的方法获取 key1 对应的值 val1。如果 map 中不存在 key1,val1 就是一个值类型的空值。 这就会给我们带来困惑了:现在我们没法区分到底是 key1 不存在还是它对 阅读全文
posted @ 2018-09-20 20:44 ZhanLi 阅读(246) 评论(0) 推荐(0) 编辑
go语言学习--map类型的切片
摘要:今天在项目中遇到了一个切片的map,记录下map切片的使用 下面是输出的结果 需要注意的是我们在处理切片map的赋值的时候需要为每一个切片的map进行map的新建 阅读全文
posted @ 2018-09-20 20:19 ZhanLi 阅读(683) 评论(0) 推荐(0) 编辑
MySQL学习----unsigned 无符号的总结
摘要:unsigned 为“无符号”的意思, unsigned,zerofill 既为非负数,用此类型可以增加数据长度, 例如如果 int最大是65535,那 int unsigned zerofill 最大 就是 65535 * 2 unsigned 为“无符号”的意思 unsigned 既为非负数,用 阅读全文
posted @ 2018-09-16 17:57 ZhanLi 阅读(2978) 评论(0) 推荐(1) 编辑
MySQL学习----各种字符的长度总结
摘要:数字型 类型 类型 大小 大小 范围(有符号) 范围(有符号) 范围(无符号) 范围(无符号) 用途 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 阅读全文
posted @ 2018-09-16 17:43 ZhanLi 阅读(4174) 评论(0) 推荐(0) 编辑
go语言学习--protobuf的学习
摘要:最近在学习中遇到了protobuf,哇喔竟然不知道,马上进行了学习,protobuf也是数据解析的方式,平时使用最多的是json和xml,那么好了,对比下他们的区别,并且附上protobuf的使用。 数据交互xml、json、protobuf格式比较 1、json: 一般的web项目中,最流行的主要 阅读全文
posted @ 2018-09-10 20:03 ZhanLi 阅读(588) 评论(0) 推荐(0) 编辑
go语言学习--map的并发
摘要:go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。但是map的使用有一定的限制,如果是在单个协程中读写map,那么不会存在什么问题,如果是多个协程并发访问一个map,有可能 阅读全文
posted @ 2018-09-09 16:04 ZhanLi 阅读(731) 评论(0) 推荐(0) 编辑
MySQL学习----多版本并发mvcc
摘要:MySQL中的大多数事务性存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,他们一般实现了多版本并发控制(mvcc)。不仅是mysql,包括oracle,postgresql等其他数据库也实现了mvcc,但各自的实现机制不尽相同,应为mvcc没有一个统一的实标准。 那么什么是mvvc呢 可以 阅读全文
posted @ 2018-09-05 19:46 ZhanLi 阅读(236) 评论(0) 推荐(0) 编辑
GO中DEFER的理解--DEFER执行的原理
摘要:在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。 为了更好的学习defer的行为,我们首先来看下面一段代码: 这段代码可以运行,但存在'安全 阅读全文
posted @ 2018-09-02 18:28 ZhanLi 阅读(1007) 评论(0) 推荐(0) 编辑
go中defer的理解--defer、return、返回值之间执行顺序
摘要:defer可以读取有名返回值 func c() (i int) { defer func() { i++ }() return 1 } 输出结果是2. 在开头的时候,我们知道defer是在return调用之后才执行的。 这里需要明确的是defer代码块的作用域仍然在函数之内,结合上面的函数也就是说, 阅读全文
posted @ 2018-09-02 18:12 ZhanLi 阅读(3371) 评论(0) 推荐(1) 编辑