自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

这个名字想了很久

本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。...

原创 Hibernate Validator自定义校验枚举类型

Bean Validation API定义了一整套标准约束注解,例如@NotNull, @Size等等。如果这些内置约束不够,我们可以轻松创建自定义约束。 参考官方文档: https://docs.jboss.org/hibernate/stable/validator/reference/e...

2020-01-29 12:20:22 479 0

原创 Spring Boot使用Hibernate validator进行参数校验

原文地址,转载请注明出处: https://blog.csdn.net/qq_34021712/article/details/87545287  ©王赛超 Spring Boot已经可以帮助我们快速构建一个web服务,针对请求的参数如果只在客户端进行数据有效性...

2020-01-29 12:19:30 180 0

翻译 go语言学习-写入文件 (三十六)

转载自:https://golangbot.com/write-files/ 在本教程中,我们将学习如何使用Go将数据写入文件。我们还将学习如何并发写入文件。 本教程包含以下部分 将字符串写入文件 将字节写入文件 逐行将数据写入文件 追加到文件 并发写入文件 将字符串写入文件 将字符串写入文...

2019-01-13 20:07:12 1031 0

翻译 go语言学习-读取文件 (三十五)

转载自:https://golangbot.com/read-files/ 读取文件是所有编程语言中最常见的操作之一。本教程我们将了解如何使用 Go 读取文件。 本教程包含以下部分: 将整个文件读取到内存 使用绝对文件路径 将文件路径作为命令行标志传递 将文件绑定在二进制文件中 分块读取文...

2019-01-13 20:06:29 891 0

翻译 go语言学习-反射 (三十四)

转载自:https://golangbot.com/reflection/ 反射是go语言中的高级特性之一,我会尽量将它讲的通俗易懂。 本教程包含以下部分: 什么是反射? 为何需要在运行时检查变量的值,并确定变量的类型? reflect 包 reflect.Type 和 reflect.Va...

2019-01-13 20:05:28 355 0

翻译 go语言学习-头等函数 (三十三)

转载自:https://golangbot.com/first-class-functions/ 什么是头等函数 支持头等函数的编程语言,可以把函数赋值给变量,也可以把函数作为其它函数的参数或者返回值。Go 语言支持头等函数。 本教程我们会讨论头等函数的语法和用例。 匿名函数 让我们先从一个简单...

2019-01-13 20:05:04 145 0

翻译 go语言学习-panic 和 recover (三十二)

转载自:https://golangbot.com/panic-and-recover/ 什么是 panic? 在 Go 程序中,一般是使用错误来处理异常情况。对于程序中出现的大部分异常情况,错误就已经够用了。 但在有些情况,当程序发生异常时,无法继续运行。在这种情况下,我们会使用 panic 来...

2019-01-13 20:04:42 221 0

翻译 go语言学习-自定义错误(三十一)

转载自:https://golangbot.com/custom-errors/ 在上一个教程中,我们学习了 Go 中的错误是如何表示的,以及如何处理标准库里的错误。我们还学习了从标准库的错误中提取更多的信息。 本教程介绍如何创建我们自己的自定义错误,我们可以在我们创建的函数和包中使用它们。我们...

2019-01-13 20:04:23 288 0

翻译 go语言学习-错误处理(三十)

转载自:https://golangbot.com/error-handling/ 什么是错误? 错误表示程序中的异常情况。假设我们正在尝试打开文件,文件系统中却不存在该文件。这是一种异常情况,它用错误来表示。 在 Go 中,错误一直是很常见的。错误用内建的 error 类型来表示。 就像其他的...

2019-01-13 20:04:03 86 0

翻译 go语言学习-defer(二十九)

转载自:https://golangbot.com/defer/ 什么是 defer? defer语句的作用:含有defer语句的函数结束之前调用另外一个函数。定义看起来很复杂,我们通过一个例子就很容易理解。 package main import ( "f...

2019-01-13 20:03:44 127 0

翻译 go语言学习-go中的OOP-多态(二十八)

转载自:https://golangbot.com/polymorphism/ Go中的多态性是在接口interface的帮助下实现的。正如我们已经讨论过的,接口可以在Go中隐式实现。如果一个类型定义了某个接口中声明的所有方法,则该类型实现了这个接口。让我们看看,利用接口,如何在Go中实现多态性。...

2019-01-13 20:03:26 118 0

翻译 go语言学习-go中的OOP-组合取代继承(二十七)

转载自:https://golangbot.com/inheritance/ Go语言不支持继承,但是它支持组合。组合的定义是“放在一起”,组合的一个例子是车的组成,一辆车是由轮子,发动机和其他组件组合而成。 结构体嵌套组合 Go中的组合可以通过将一种结构体类型嵌入另一种结构体类型来实现。 博客文...

2019-01-13 20:02:55 236 0

翻译 go语言学习-go中的OOP-结构体取代类(二十六)

转载自:https://golangbot.com/structs-instead-of-classes/ Go不是纯粹的面向对象编程语言。下面摘自Go的FAQs 解答了Go是否是面向对象的问题。 翻译:可以说是,也可以说不是。虽然GO具有类型和方法,并且允许面向对象的编程风格,但是没有类型层次...

2019-01-13 20:02:32 163 0

翻译 go语言学习-Mutex(二十五)

转载自:https://golangbot.com/mutex/ 在本教程中,我们将了解Mutex(互斥锁)。我们还将学习如何使用Mutex和信道解决竞争问题。 临界区 在学习Mutex之前,了解并发编程中关键概念非常重要。当程序并发运行时,多个协程不应该同时访问修改共享资源的代码。修改共享资源的...

2019-01-13 20:02:07 149 0

翻译 go语言学习-select(二十四)

转载自:https://golangbot.com/select/ 什么是select select语句用于从多个读写通道中进行选择。select语句将会阻塞,直到有一个读写通道就绪。如果有多个读写通道就绪,会从中任意选择一个。select语法类似switch语句,除了每个case语句必须是通道操...

2019-01-13 20:01:41 204 0

翻译 go语言学习-缓冲信道与工作池(二十三)

转载自:https://golangbot.com/buffered-channels-worker-pools/ 什么是缓冲信道 我们在上一个教程中讨论的所有信道基本上都是的无缓冲区的信道,正如我们在 信道教程中详细讨论的那样,对一个无缓冲的信道进行发送 和 接受 数据 都是阻塞的。 我们也可以...

2019-01-13 20:01:20 204 0

翻译 go语言学习-信道(二十二)

转载自:https://golangbot.com/channels/ 在上一篇教程中,我们讨论了如何使用协程在go中实现并发。在本教程中,我们将讨论有关信道以及如何使用信道实现协程间通信。 什么是信道 信道(Channel)可以被认为是协程之间通信的管道。类似于水在管道中从一端流向另一端一样,数...

2019-01-13 20:00:56 497 0

翻译 go语言学习-并发简介(二十)

转载自:https://golangbot.com/concurrency/ Go是一种并发语言,而不是并行语言。在讨论如何在Go中处理并发之前,我们必须首先了解什么是并发以及它与并行的区别。 什么是并发? 并发是同时处理大量事情的能力。最好用一个例子来解释。 假设一个人喜欢慢跑。在他早上的慢跑时...

2019-01-13 20:00:09 154 0

翻译 go语言学习-协程(二十一)

转载自:https://golangbot.com/goroutines/ 在上一篇教程中,我们讨论了并发,以及并发和并行的区别。在这篇教程中我们将讨论在Go中如何通过Go协程实现并发。 什么是协程? Go 协程(Goroutine)是与其他函数或方法一起并发运行的函数或方法。协程可以被认为是轻量...

2019-01-13 19:59:35 202 0

翻译 go语言学习-接口_2(十九)

转载自:https://golangbot.com/interfaces-part-2/ 这是介绍接口的第二篇。如果你还没有阅读第一篇,可以在这里阅读。 使用指针接收器和值接收器实现接口 我们在第1部分中讨论的所有示例接口都是使用值接收器实现的。还可以使用指针接收器实现接口。在使用指针接收器实现接...

2019-01-13 19:59:12 162 0

翻译 go语言学习-接口_1(十八)

转载自:https://golangbot.com/interfaces-part-1/ 什么是接口 在面向对象语言中,接口一般被定义为 :接口定义了对象的一系列行为。接口仅仅指定了一个对象应该做什么。具体怎么做(实现细节)是由对象决定的。 在 Go 中,接口是一组方法签名。当一个类型定义了所有接...

2019-01-13 19:58:53 164 0

翻译 go语言学习-方法(十七)

转载自:https://golangbot.com/methods/ 什么是方法 方法是一个具有特殊的接收器类型的函数,在 func 关键字和函数名之间加入了一个特殊的接收器类型。该接收器可以是结构体类型或非结构体类型。接收器可以在方法内部访问。 以下是创建方法的语法。 func (t Type)...

2019-01-13 19:58:34 186 0

翻译 go语言学习-结构体(十六)

转载自:https://golangbot.com/structs/ 什么是结构体? 结构体是用户定义的类型,表示若干个字段的集合。有时候应该将多个数据分组到一个整体中,而不是将每个数据作为单独的类型进行维护。这种情况下可以使用结构体。 例如,一个员工有 firstName、lastName 和 ...

2019-01-13 19:58:14 252 0

翻译 go语言学习-指针(十五)

转载自:https://golangbot.com/pointers/ 什么是指针 指针是存储另一个变量的内存地址的变量。 在上图中,变量 b 的值是 156,在内存中的地址为 0x1040a124 。变量 a 存储了变量 b 的地址。现在可以说 a 指向 b。 指针的声明 * T是指针变量的类...

2019-01-13 19:57:51 265 0

翻译 go语言学习-字符串(十四)

转载自:https://golangbot.com/strings/ String类型在Go中值得特别提到,因为与其他语言相比,它们的实现方式有所不同。 什么是字符串 在 Go 中字符串是 字节切片。可以通过将内容放在双引号 "" 之间的方式来创...

2019-01-13 19:57:26 125 1

翻译 go语言学习-map(十三)

转载自:https://golangbot.com/maps/ 什么是 map? Map 是 Go 中的内置类型,它将key与value相关联。可以通过key获取相应的value。 如何创建 map? 可以通过将key和value的类型传递给make函数来创建map。创建map的语法为:make(...

2019-01-13 19:57:06 96 0

翻译 go语言学习-变参函数(十二)

转载自:https://golangbot.com/variadic-functions/ 什么是变参函数? 变参函数是指可以接受可变数量的参数的函数。 语法 如果函数的最后一个参数表示为...T,则该函数可以接受任意数量T类型参数。 注意:必须是参数列表的最后一个参数才可以指定为可变参数。 通过...

2019-01-13 19:56:44 110 0

翻译 go语言学习-数组与切片(十一)

转载自:https://golangbot.com/arrays-and-slices/ 数组 数组是同一类型的元素的集合。例如,整数 5, 8, 9, 79, 76 的集合就构成了一个数组。Go不允许在数组中混合使用不同类型的元素(例如包含整数和字符串的数组)。 数组是一种非常有用的数据结构,因...

2019-01-13 19:55:57 155 0

翻译 go语言学习-switch语句(十)

转载自:https://golangbot.com/switch/ switch是一个条件语句,用于将一个表达式的结果与可能存在的值列表 进行比较,并根据匹配的结果执行对应的代码块。它可以被认为是编写多个if else子句的替代方式。 举例是说明问题的最好方式,让我们从一个简单的示例开始,程序接受...

2019-01-13 19:55:28 142 0

翻译 go语言学习-循环语句(九)

转载自:https://golangbot.com/loops/ 循环语句用于重复执行代码块。 for语句是Go中唯一可用的循环。Go没有while或do while循环,这些循环存在于其他语言中,如C.java。 for循环语法 for initialisation; condition; po...

2019-01-13 19:55:01 111 0

翻译 go语言学习-if else 语句(八)

转载自:https://golangbot.com/if-statement/ if是条件语句。if语句的语法是: if condition { } 如果 condition 为 true,那么就执行 { 和 } 之间的代码。 与其它语言(如C语言)不同,即使 {} 之间只有一条语句,{} ...

2019-01-13 19:54:42 259 0

翻译 go语言学习-包(七)

转载自:https://golangbot.com/packages/ 什么是包?为什么使用包? 到目前为止,我们已经看到了GO程序:它只有一个文件,它有一个主函数和几个其他函数。在实际场景中,这种在一个文件中编写所有源代码的方法是行不通的。以这种方式编写的代码是不可能重用和维护的。包(packa...

2019-01-13 19:54:18 257 0

翻译 go语言学习-函数(六)

转载自:https://golangbot.com/functions/ 什么是函数 函数是执行特定任务的代码块。函数接受输入,对输入执行一些计算并生成输出。 函数声明 在 Go 中声明一个函数的语法为: func functionname(parametername type) returnty...

2019-01-13 19:53:52 81 0

翻译 go语言学习-常量(五)

转载自:https://golangbot.com/constants/ 常量定义 常量(constant)表示固定的值,比如:5,-89,"I love Go",67.89 等等。 看下面这段程序: var a int = 50 var b...

2019-01-13 19:53:23 163 0

翻译 go语言学习-基本类型(四)

转载自:https://golangbot.com/types/ 以下是go中可用的基本类型: bool Numeric Types int8, int16, int32, int64, int uint8,uint16,uin32,uint64, uint float32, float64 ...

2019-01-13 19:52:52 100 0

翻译 go语言学习-变量(三)

转载自:https://golangbot.com/variables/ 什么是变量 变量是为存储特定类型的值的内存位置指定的名称。在 Go 中有多种声明变量的语法。 声明一个变量 声明一个变量的语法为:var name type,例如: package main import &amp...

2019-01-13 19:52:16 156 0

转载 go语言学习-hello world(二)

转载自: https://blog.csdn.net/codemanship/article/details/29429477?utm_source=blogxgwz2 学习任何编程语言的第一个程序都是Hello world,我就不打破这个传统了。看看Go的&qu...

2019-01-13 19:51:25 112 0

转载 go语言学习-开发环境安装(一)

go安装 分别下载对应系统的版本,下载地址:http://www.golangtc.com/download Windows golang安装 下载go1.9.2.windows-386.msi文件,然后傻瓜式安装。安装路径就使用它默认的 C:\Go\ 即可,之后一路 Next 。 windows...

2019-01-13 19:50:39 157 0

原创 mysql千万数据迁移只需要简单的5步(导出,导入)

咳咳,千万级别其实也并不是很多,主要是上周做了一个生产环境的数据迁移,趁此记录一下学习笔记。 具体的需求如下: 之前是用户登录之后的token存储在用户信息主表中,并且token还要用来对请求进行加签,现在项目要上网关,想将用户请求验签的操作迁移到网关,网关是单独的数据库,所以要将 用户token...

2019-01-12 14:01:30 5010 0

原创 springboot整合shiro-SimpleAuthenticationInfo 参数该使用username 还是User实体(十八)

原文地址,转载请注明出处: https://blog.csdn.net/qq_34021712/article/details/84723583    &...

2018-12-17 17:51:57 9165 11

提示
确定要删除当前文章?
取消 删除