-
golang unit test的一些实践
单元测试1. 什么是单元测试单元测试在我们开发中是一个必不可少的一个环节,这里的单元其实指的是应用的最小可测试的部件,例如在过程化编程中,一个单元就是单个的程序、函数、过程等等,在面向对象编程中,最小单元指的就是方法、基类、超类、抽象类等中的方法。单... -
io多路复用
io多路复用1. BIO 的缺陷 BIO中的B 是 Blocking 的阻塞的意思 作为服务端开发,使用ServerSocket 绑定端口号之后会监听该端口,等待accept事件,accept是会阻塞当前线程 当我们收到accept事件的时候,程序就... -
最长的回文子串--题解
最长的回文子串–题解题目描述该题为leetcode的第五题 给定一个字符串,让我们找出其中最长的回文子串。 题目解析其实这道题的做法很多种: 暴力解法:这是最简单的解决方法,我们只需要将所有的子串列出来,然后找出其中所有的子串,判断是否为回文子串... -
寻找两个正序数组的中位数-题解
寻找两个正序数组的中位数-题解题目描述这是leetcode伤的第4题 题目解析首先仔细看一下这个题目我们不难发现,其中最重要的一点就是两个数组为正序,由此我们不难想出一下两个解题思路: 第一个解题思路就是先将两个数组合并排序,然后再进行取中位数,... -
无重复字符的最长子串-题解
无重复字符的最长子串题目这是leetcode上的第三题 题目解析本题可以利用滑动窗口的思想来解决,题目要求给我们一个字符串让我们求出其中没有重复字符的最长子串, 我们可以先简单分析下,以题目中的实例一为例: 我们可以设立两层循环,外层循环对字符串... -
数组的随机访问
数组的随机访问什么是数组数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来储存一组具有相同类型的数据 这其中有几个比较重要的关键字:线性表,连续的,相同类型 什么是线性表呢顾名思义,线性表就是数据排成一条线一样的结构。每一个线性表上的... -
Hash算法的简介与使用
Hash算法的简介与使用Hash算法是什么如果用一句话来总结哈希的话,其实就是将目标文本装欢成一个拥有相同长度的并且不可逆转的字符串。而我们平常熟知的加密算法,是将目标文本转换成一个不同长度并且可逆的秘闻,所以从严格意义上来讲的话,hash不算事加密... -
最小栈题解
最小栈题解题目 题目解析我们先来简单看一下他让我们实现的几个方法的作用: 1234push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。 题目需要我... -
使用defer解决实际问题
使用defer解决实际问题引入首先我们以leetcode上面的一道题目引入 思路这道题非常的简单,我们简单的提取一下关键字:头节点,从尾到头。其实读到这里我们就有了做这道题的思路,链表的头节点说明我们的数据源在链表中,从尾到头其实就是栈规则,它遵循... -
go mod使用方法
go mod简单使用方法前言最近在使用goland学习的时候遇到需要使用第三方包的场景,以前都是直接使用go get 直接下载安装到Path下的src,但是在我更新了go版本后,代码并没有下载到src中而是到了同目录下的pkg/mod中,并...
黄色的森林分出两条路
我选择人迹更少的那一条,从此决定我一生的道路。