随笔分类 - Golang
摘要:package main import "fmt" type BPlustree map[int]node //定义 func NewBplusTree() *BPlustree { bt := BPlustree{} //初始化 leaf := NewLeafNode(nil) //叶子节点 r
阅读全文
摘要:package main import ( "fmt" "math/rand" "time" ) //B树的节点 type BtreeNode struct { Leaf bool //是否叶子 N int //分支的数量 keys []int //存储数据 Children []*BtreeNod
阅读全文
摘要:package main //定义常量红黑 const ( RED = true BLACK = false ) //红黑树结构 type RBNode struct { Left *RBNode //左节点 Right *RBNode //右边节点 Parent *RBNode //父亲节点 Co
阅读全文
摘要:package main import ( "bytes" "container/list" "fmt" "strconv" ) type Node struct { Data int //数据 Left *Node //指向左边节点 Right *Node //指向右边节点 } type Bina
阅读全文
摘要:package main import "fmt" func HeapSort(arr []int) []int { length := len(arr) for i := 0; i < length; i++ { lastmesslen := length - i //每次截取一段 HeapSor
阅读全文
摘要:package main import "fmt" //11,9,2,8,3,7,4,6,5,10 //9 11 2 8 3 7 4 6 5 10 //9 2 11 8 3 7 4 6 5 10 //9 2 8 11 3 7 4 6 5 10 //9 2 8 3 11 7 4 6 5 10 //9
阅读全文
摘要:package main import ( "fmt" "math/rand" ) //3,9,2,8,1,7,4,6,5,10 //3 9,2,8,1,7,4,6,5,10 // 2,1 3, 9,2,8,,7,4,6,5,10 // 9,2,8,,7,4,6,5,10 // ,8,7,4,6,5
阅读全文
摘要:package main import "fmt" //// 1 9 2 8 7 6 4 5 //// 1 9 2 8 7 6 4 5 //// 1 2 9 8 7 6 4 5 //// 1 2 8 9 7 6 4 5 //// 1 2 7 8 9 6 4 5 //// 1 2 6 7 8 9 4
阅读全文
摘要:import "fmt" // 1 9 2 8 7 6 4 5 //9 1 2 8 7 6 4 5 //9 8 1 2 7 6 4 5 //9 8 7 1 2 6 4 5 func SelectSortMax(arr []int) int { length := len(arr) //数组长度 if
阅读全文
摘要:本地引入CryptoJS.min.js(网盘Tool下) <!--或者CDN--> <script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script> // **********************
阅读全文
摘要:go 1.14.4 初始化项目 mod管理包 go mod init example 可能会报如下错误: go mod init: modules disabled by GO111MODULE=off; see 'go help modules' 解决 set GO111MODULE=on //w
阅读全文
摘要:1、超时机制Timeout package mian func workerTimeout(start chan bool) { timeout := time.After(10 * time.Second) for { select { // … do some stuff case <- tim
阅读全文
摘要:数据结构(算法)的介绍 数据结构的介绍 1)数据结构是一门研究算法的学科,只从有了编程语言也就有了数据结构.学好数据结构可以编写出更加漂亮,更加有效率的代码。 2)要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决. 3)程序 = 数据结构 + 算法 数据结构和算法的关系 算法是程
阅读全文
摘要:Redis 基本介绍 Redis 的安装 Redis 操作的基本原理图 Redis 的安装和基本使用 Redis 的启动: Redis 的操作指令一览 Redis 的基本使用: 说明: Redis 安装好后,默认有 16 个数据库,初始默认使用 0 号库, 编号是 0...15 1.添加 key-v
阅读全文
摘要:网络编程基本介绍 Golang 的主要设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。 网络编程有两种: 1)TCP socket 编程,是网络编程的主流。之所以叫 Tcp socket 编程,是因为底层是基于 Tcp/ip 协议的. 比如: QQ 聊
阅读全文
摘要:先看一个问题,反射的使用场景 使用反射机制,编写函数的适配器, 桥连接 反射的基本介绍 1)反射可以在运行时动态获取变量的各种信息, 比如变量的类型(type),类别(kind) 2)如果是结构体变量,还可以获取到结构体本身的信息(包括结构体的字段、方法) 3)通过反射,可以修改变量的值,可以调用关
阅读全文
摘要:goroutine-基本介绍 进程和线程介绍 程序、进程和线程的关系示意图 并发和并行 1)多线程程序在单核上运行,就是并发 2)多线程程序在多核上运行,就是并行 3)示意图: 小结: Go 协程和Go 主线程 Go 主线程(有程序员直接称为线程/也可以理解成进程): 一个 Go 线程上,可以起多个
阅读全文
摘要:单元测试-基本介绍 Go 语言中自带有一个轻量级的测试框架 testing 和自带的 go test 命令来实现单元测试和性能测试, testing 框架和其他语言中的测试框架类似,可以基于这个框架写针对相应函数的测试用例,也可以基于该框架写相应的压力测试用例。通过单元测试,可以解决如下问题: 1)
阅读全文
摘要:json 的序列化介绍 json 序列化是指,将有 key-value 结构的数据类型(比如结构体、map、切片)序列化成 json 字符串的操作。 应用案例 这里我们介绍一下结构体、map 和切片的序列化,其它数据类型的序列化类似。 package main import ( "fmt" "enc
阅读全文
摘要:基本介绍 输入流和输出流 os.File 封装所有文件相关操作,File 是一个结构体 打开文件和关闭文件使用的函数和方法 案列演示 读文件操作应用实例 1)读取文件的内容并显示在终端(带缓冲区的方式),使用 os.Open, file.Close, bufio.NewReader(), reade
阅读全文