Go语言还未入门就放弃之字符串string
初始化 str := "Hello World! \n Hello Gopher! \n" 使用双引号初始化,会自动转义符。 str := `Hello World! \n Hello Gopher! \n` 使用反引号初始化,相关的转义字符不会被替换。哈哈哈,可惜不能在里面跟JavaScript一样使用${var}…
Go语言还未入门就放弃之切片slice
内部实现 对数组进行抽象封装,可以动态增长,类似C++里面的vector。切片有 3 个字段的数据结构。分别是指向底层数组的指针、切片访问的元素的个数(即长度)和切片允许增长到的元素个数(即容量) 声明和初始化 slice := make([]string, 5) 创建一个字符串切片,其长度和容量都是 5 个元素。如果只指定长度,那么切片的容量和长…
Go语言还未入门就放弃之映射map
概览 Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。 Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。 通过 key 在 map 中寻找值是很快的,比线性查找快得多,…
Go语言还未入门就放弃之数组array
声明和初始化 var array [5]int 声明一个包含 5 个元素的整型数组,元素默认为零值 array := [5]int{10, 20, 30, 40, 50} 使用数组字面量声明数组 array := [...]int{10, 20, 30, 40, 50} 使用...替代数组的长度,让 Go 自动计算声明数组的长度 array := …
基础知识总结-数据结构
顺序结构 顺序栈(Sequence Stack) SqStack.cpp /** * @author huihut * @E-mail:huihut@outlook.com * @version 创建时间:2016年9月9日 * 说明:本程序实现了一个顺序栈。 * 功能:有初始化、销毁、判断空、清空、入栈、出栈、取元素的操作。 */ #includ…
节点准入机制
节点准入机制 由于使用CA流程需要特定的工具去生成证书以及颁发证书,流程比较复杂。前期打算用节点公私钥进行验证。假设此时已经搭建完第一个主节点A,此时B节点待加入。大概流程如下: 节点A的信息会写入创世区块。我们对第一个创建的主节点,不允许删除,不允许更新。 在链A上将A节点信息以及B节点信息写入系统合约。节点信息大概有节点IP,节点p2p通讯端口…
智能合约Solidity编程语言
Solidity语言 本文全部来自《智能合约Solidity编程语言》,我只是做了搬运工搬过来方便我自己查看而已。 Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)之上。 Solidity与其它语言相关的特点? 它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又…
Juice联盟链搭建流程
Juice联盟链搭建流程备忘录 给Juice联盟链搭建流程做个备忘录,自己使用脚本自动化部署链要用到。 主链搭建流程 创建前链验证 主要是验证链的状态信息,比如已经搭建的好的不允许再搭建。 URL:/nodeMainValidate.do Request Data: {} Response:{"ret":0,"mess…
基础知识总结-操作系统
进程与线程 对于有线程系统: 进程是资源分配的独立单位 线程是资源调度的独立单位 对于无线程系统: 进程是资源调度、分配的独立单位 进程之间的通信方式以及优缺点 管道(PIPE) 有名管道:一种半双工的通信方式,它允许无亲缘关系进程间的通信 优点:可以实现任意关系的进程间的通信 缺点:长期存于系统中,使用不当容易出错;缓冲区有限 无名管道:一种半双…
基础知识总结-tx
√ 单向链表反转 √ top K 问题 红黑树,AVL数,B+, B-树等的区别。 √ 希尔排序 二叉树改平衡树 √ C++11的智能指针 √ 跳表 boot loader。 √ 进程的状态转换图。 √ 进程间通信的方式。 内核态和用户态的区别,为什么要这样划分,如果不这样划分你觉得理由是什么。 √ 知道的几种设计模式。 √ 多态用什么实现(虚函数…