![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
文章平均质量分 67
Kevin_cai09
无情的bug maker
展开
-
Go container包
Go container包文章目录Go container包简介list数据结构ring数据结构heap数据结构简介Container — 容器数据类型:该包实现了三个复杂的数据结构:堆、链表、环List:Go中对链表的实现,其中List:双向链表,Element:链表中的元素Ring:实现的是一个循环链表,也就是我们俗称的环Heap:Go中对堆的实现list简单实用:func main() { // 初始化双向链表 l := list.New() // 链表头插入 l.原创 2021-11-28 15:28:19 · 429 阅读 · 0 评论 -
Go参数校验Validator
Go参数校验Validator文章目录Go参数校验Validator实践校验标签字符串约束自定义校验器开发接口的时候需要多前端提交的参数进行参数校验,如果提交的参数只有一个两个,这样我们可以简单写个if判断,但是如果提交的参数比较多,通过if判断就比较繁琐了,在Go中有一个validator包可以通过反射结构体struct的tag进行参数校验实践go get github.com/go-playground/validator/v10定义结体:type UserInfo struct {原创 2021-11-19 23:15:43 · 3787 阅读 · 0 评论 -
Go map
Go map文章目录Go map基础原理底层数据结构扩容规则初始化基础import ( "fmt" "testing")// 声明mapvar m = map[string]interface{}{}// 初始化func TestInitUseMap(t *testing.T) { // 使用make来进行初始化 m = make(map[string]interface{}) // 增加 m["key1"] = "v1" // 查询 v,ok := m["key1"]原创 2021-10-07 14:15:38 · 184 阅读 · 0 评论 -
Go module
Go module文章目录Go module简介使用简介Go的包管理方式是逐渐演进的,一开始所有的包都是放在GoPath下的GoPath不区分项目,任何import的路径都是葱花Gopath为根目录开始的如果存在多个项目并且不同项目对于同一个依赖库的版本需求不一样时,无法在同一个GOPATH下放置不同版本的依赖项Go Module是语义化版本管理的依赖项的包管理工具,解决了GoPath存在的缺陷,是Go官方的版本管理工具使用首先,创建一个新的工程package awesomeProj原创 2021-08-08 23:36:03 · 166 阅读 · 0 评论 -
go http包基本使用
go http包基本使用文章目录go http包基本使用1.基本请求方法1.1 get和post请求1.2 put和delete方法1.3 带参数和请求头的请求1.4 获取响应信息1.5 文件下载1.6 cookie1.基本请求方法1.1 get和post请求http包中已经封装好了get和post请求,直接传入要请求的url即可func TestHttpRequest(t *testing.T) { Get() Post()}func Get() { // http包中提供了Htt原创 2021-06-13 02:58:59 · 790 阅读 · 0 评论 -
golang类型转换问题
golang类型转换问题文章目录golang类型转换问题强制类型转换类型断言强制类型转换golang是强类型语言,但是和c++,Java不太一样的是,go中没有隐式类型转换,go中的类型转换只有:强制类型转换和断言在java中: public static void main(String[] args){ int a = 1; double b = 1.0; System.out.println(a * b); }在java中这样原创 2021-06-12 02:03:59 · 1347 阅读 · 1 评论 -
Go modules
文章目录Go modules使用流程Go modules言简意赅,go-modules就是一个包管理工具,是用来解决我们通过 go get 下载第三方类库到go path后的第三方类库版本管理的问题使用流程首先,新建项目目录并且初始化模块mkdir demo1 && cd demo1go mod init demo第一个指令:go mod init 模块名执行后,会生成一个go.mod文件:module demo1go 1.16一开始的时候内容比较少,只有模块原创 2021-05-09 15:17:07 · 146 阅读 · 1 评论 -
Go匿名函数和闭包
文章目录Go匿名函数和闭包闭包的定义和实现延迟调用和闭包闭包的实现Go匿名函数和闭包闭包的定义和实现如何定义闭包?闭包是引用了自由变量的函数,这个自由变量将和这个函数一同存在,即使离开了创造他的环境,闭包是由函数及其相关引用环境组成的实体,可以理解为一个函数“捕获”了和它处于同一作用域的其他变量。“捕获”的本质就是引用传递而非值传递。简单的闭包就是在函数中返回匿名函数type MyFunc func() int// 简单的闭包:在函数中返回匿名函数func Test() MyFunc{原创 2021-05-02 01:07:26 · 217 阅读 · 1 评论 -
Go defer关键字
文章目录Go defer关键字Go defer关键字Go语言的defer会在当前函数返回前执行传入的函数,经常用于关闭文件描述符,关闭数据库连接等资源回收工作。Go中defer主要有两个问题:defer调用时机和调用顺序defer调用函数使用传值方式传递参数会进行预运算,计算结果会发生改变,最终进行计算的参数是运行时的结果关于调用时机和调用顺序func main() { fmt.Println("开始执行main函数") for i := 0;i < 5;i++{ defe原创 2021-05-02 01:07:01 · 158 阅读 · 1 评论 -
Go接口
文章目录Go接口Go接口接口的本质是引入一个中间层,上层的调用方不再需要依赖下层的具体模块,只需要依赖一个定义好的接口Go中的接口是一种内置类型,定义了一组方法的集合在Java中我们在接口中可以定义变量,也可以定义方法签名public interface MyInterface { public String hello = "Hello"; public void sayHello();}通过implements 关键字显示的实现接口public class MyInte原创 2021-05-01 23:42:27 · 181 阅读 · 1 评论 -
Go内置数据结构
文章目录Go内置数据结构数组切片slice映射map字符串Go内置数据结构Go中有四大内置的数据结构:数组切片slice映射map字符串数组数组是一种很常见的数据结构,就是一系列相同类型的数据集合。计算机会为其分配一块连续的内存来保存数组中的元素,通过数组元素的索引访问数组元素,时间复杂度是O(1)和Java不太相同,在go语言中,相同类型但是数组容量不同,也被视为不同的数组类型,只有两个条件都相同才是同一类型。[1]int != [2]intgo语言底层中,数组类型的定义如下:原创 2021-04-01 00:21:02 · 781 阅读 · 0 评论 -
Go学习笔记
Go文章目录Go变量指针Go函数Go面向对象继承接口数据结构链表变量变量声明//1、单变量声明,类型放在变量名之后,可以为任意类型var 变量名 类型var v1,v2,v3 string //多变量同类型声明//2、多变量声明var { v1 int v2 []int}变量初始化//1、使用关键字var,声明变量类型并赋值var v1 int=10//2、使用关键字var,直接对变量赋值,go可以自动推导出变量类型var v2=10//3、直接使用“:=”对原创 2021-02-28 23:12:06 · 161 阅读 · 0 评论 -
简单动态规划
动态规划文章目录动态规划1.[打家劫舍](https://leetcode-cn.com/problems/house-robber/)2.[打家劫舍 II](https://leetcode-cn.com/problems/house-robber-ii/)3.[爬楼梯](https://leetcode-cn.com/problems/climbing-stairs/)4.[使用最小花费爬楼...原创 2020-12-31 17:49:24 · 215 阅读 · 0 评论 -
leetcode股票买卖问题
股票买卖问题本人是大三学生,有问题欢迎及时指出呀文章目录股票买卖问题1.[买卖股票的最佳时机](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/)2.[最佳买卖股票时机含冷冻期](https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-...原创 2020-12-31 17:51:08 · 1997 阅读 · 0 评论 -
go常用排序算法
go常用排序算法之前写过一篇用java实现的常用排序算法的博客,可以参考,这次改用go语言实现,一来用来复习下排序算法,二来也可以学习下go语言,java常用排序算法总结一,冒泡排序/**冒泡排序 */func bubbleSort(data []int){ for i := 0;i < len(data) - 1;i++{ for j := 0;j < len...原创 2020-12-31 17:51:24 · 830 阅读 · 0 评论