go语言并发 //启动多个groutine var wg sync.WaitGroup //一个计数器一样的东西,用来统计gorountine的启动数量. func hello(i int) { defer wg.Done() fmt.Println("hello Goroutine!", i) }...
go
go语言 flag用法
go语言flag用法之一 package main import ( "flag" "log" ) var name string func main() { flag.Parse() //将命令解析为定义的标志,一遍后续的参数使用 args := flag.Args() //将传入...
如何实现 Java SpringBoot 自动验证入参数据的有效性
Java SpringBoot 通过javax.validation.constraints下的注解,实现入参数据自动验证 如果碰到 @NotEmpty 否则不生效,注意看下 @RequestBody 前面是否加上了@Valid Validation常用注解汇总 Constraint 详...
golang select多路复用
在golang中,select一般是和chan一起工作的,用于同时监听多个chan的信息,其实用方法和switch差不多: select { case
golang gin日志中间件
我们有时候需要一些日志来判断做一些错误处理,虽然gin已经默认使用了一个很不错的中间件,但可能我们需要的信息并不在其中 下面我们自定义一个日志中间件,首先应该明确我们在日志中应该记录什么? 一般的...
gin自定义response
1. 自定义response 对于具体的项目而言,我们需要基于JSON()自定义一个方便好用的response 比如下面这种形式: type Response struct { StatusCode int `json:"status_code" ` // 业务状态码 ...
golang读取文件总结
1. 读取整个文件 读取整个文件是效率最高的一种方式,但其只适用于小文件,大文件一次读取会消耗大量内存 1.1 使用文件名直接读取 使用os.ReadFile()方法可以实现直接读取 func fileOne() { conte...
构造一个golang logger
一个实用的logger需要提供以下这些功能: 支持把日志写入多个输出流中,比如可以选择性的让测试、开发环境同时向控制台和日志文件输出日志,生产环境只输出到日志文件中 支持多级别的日志等级,常见的有:TRA...
golang运行时库runtime:Caller()方法
1. runtime.Caller()方法介绍 runtime.Caller()函数的签名如下: func Caller(skip int) (pc uintptr, file string, line int, ok bool) 可以看到其有一个传入参数skip: skip=0:Caller()会报告Cal...
推荐Go语言库,加速您的项目开发进程六
您是否曾经在项目开发中遇到过难以解决的复杂问题,让您感觉进展缓慢?您并不孤单,许多开发人员都会面临这种挑战。此时,使用预先构建的库可能会很有帮助。这些预先构建的解决方案能够帮助您轻松编写复杂且耗时...