摘要:defer 什么是defer? defer是Go语言的一中用于注册延迟调用的机制,使得函数活语句可以再当前函数执行完毕后执行 为什么需要defer? Go语言提供的语法糖,减少资源泄漏的发生 如何使用defer? 在创建资源语句的附近,使用defer语句释放资源 示例一: 执行return指令时,首 阅读全文
posted @ 2019-11-24 15:24 Assassinの 阅读 (18) 评论 (0) 编辑
摘要:C++ 一、Hello world 在linux下编译 g++ hello.cpp -o hello 二、类定义、构造函数、析构函数、成员变量、成员函数 定义: 栈、堆: 堆中申请内存不使用时要释放 应用: Human.h Human.cpp class.cpp 编译执行 g++ class.cpp 阅读全文
posted @ 2019-10-27 14:27 Assassinの 阅读 (18) 评论 (0) 编辑
摘要:Json 阅读全文
posted @ 2019-10-17 19:44 Assassinの 阅读 (11) 评论 (0) 编辑
摘要:指针 本章围绕字符串、数字、数组、切片、map、channel、结构体与指针赋值及函数传参的应用剖析 字符串 字符串本身也是StringHeader的结构体,包含Data指针与字符串长度,如下 Data指向的内存地址不可更改,字符串赋值和传参只是拷贝了StringHeader中Data和Len的值 阅读全文
posted @ 2019-09-23 17:57 Assassinの 阅读 (89) 评论 (0) 编辑
摘要:JSON配置加载 辅助网址,JSON转结构体对应 http://json2struct.mervine.net/ 从JSON文件中加载配置到全局变量中 配置文件 config.json 配置初始化包 Config.go 入口 main.go 阅读全文
posted @ 2019-09-17 19:03 Assassinの 阅读 (87) 评论 (0) 编辑
摘要:切片 简介 简单地说,切片就是一种简化版的动态数组。Go 数组的长度不可改变,而切片长度是不固定,切片的长度自然也就不能是类型的组成部分了。数组虽然有适用它们的地方,但是数组的类型和操作都不够灵活,因此在Go代码中数组使用的并不多。而切片则使用得相当广泛,理解切片的原理和用法是一个Go程序员的必备技 阅读全文
posted @ 2019-09-15 12:40 Assassinの 阅读 (94) 评论 (0) 编辑
摘要:字符串 简介 一个字符串是一个不可改变的字节序列,字符串通常是用来包含人类可读的文本数据。和数组不同的是,字符串的元素不可修改,是一个只读的字节数组。每个字符串的长度虽然也是固定的,但是字符串的长度并不是字符串类型的一部分。由于Go语言的源代码要求是UTF8编码,导致Go源代码中出现的字符串面值常量 阅读全文
posted @ 2019-09-15 11:05 Assassinの 阅读 (31) 评论 (0) 编辑
摘要:数组 简介 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。数组形式 numbers[0], numbers[1] ..., numbers[99] 更加方便且易于扩展。数组元素可以通过索引(位置)来读取(或者修改),索引从 0 阅读全文
posted @ 2019-09-14 13:27 Assassinの 阅读 (18) 评论 (0) 编辑
摘要:ETCD 简介 ETCD是一个开源的、分布式的键值对数据存储系统,由Go语言实现,用于存储key-value键值对,同时不仅仅是存储,主要用途是提供共享配置及服务发现,使用Raft一致性算法来管理高度可用的复制日志。有下面特点 简单:定义明确,面向用户的API(gRPC) 安全:具有可选客户端证书身 阅读全文
posted @ 2019-09-13 18:44 Assassinの 阅读 (27) 评论 (0) 编辑
摘要:websocket消息服务 目的:搭建websocket服务,用浏览器与服务进行消息交互(写的第一个Go程序) 代码目录结构: 前端html页面: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <script> 6 wi 阅读全文
posted @ 2019-09-06 20:52 Assassinの 阅读 (160) 评论 (0) 编辑
摘要:存储过程 阅读全文
posted @ 2019-08-20 17:59 Assassinの 阅读 (74) 评论 (0) 编辑
摘要:B树 前言 首先,为什么要总结B树、B+树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/+Tree作为索引结构(例如mysql的InnoDB引擎使用的B+树),理解不透彻B树,则无法理解数据库的索引机制;接下来将用最简洁直白的内容来了解B树、B+树的数据结构 另外,B-树,即为 阅读全文
posted @ 2019-07-28 18:51 Assassinの 阅读 (2049) 评论 (3) 编辑
摘要:static void ShowDictObject(PyDictObject* dictObject) { PyDictEntry* entry = dictObject->ma_table; int count = dictObject->ma_mask+1; int i; //输出key printf(" key : "... 阅读全文
posted @ 2019-07-24 16:51 Assassinの 阅读 (50) 评论 (0) 编辑
摘要:指针的指针? 前言: 指针的初识点击移步 双重指针: 指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。 直接上脚本 执行输出 由输出可见,双重指针pt存储的 阅读全文
posted @ 2019-07-23 16:46 Assassinの 阅读 (329) 评论 (0) 编辑
摘要:指针 前言: 指针是C语言程序的核心,刚开始学指针,嗯....这样呀,貌似不难呀;之后开始用指针,&p,p,*p,**p,这些指针在用的时候,额.....什么东东?每次都要想半天,特别是遇到双重指针,脑子直接卡住; 什么是指针? 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其 阅读全文
posted @ 2019-07-23 11:29 Assassinの 阅读 (238) 评论 (0) 编辑