本分类主要是对Go基于实践的介绍,包含一系列带有注释说明的示例程序,一些日常开发心得记录。
Go接口嵌套的使用
这里介绍下接口interface嵌套的用法,大家知道Go语言中不仅仅结构体与结构体之间可以嵌套,接口与接口之间也可以嵌套,通过接口的嵌套我们可以定义出新的接口。Golang 的接口嵌套,其实也就是一个...
使用Go http重试请求
开发中对于http请求是经常遇到,一般可能网络延迟或接口返回超时,对于发起客户端的请求,除了设置超时时间外,请求重试是很有必要考虑的,我们不用重复造轮子,可以使用 https://githu...
GO的URL合法性检查
Go 标准库的net/url包提供的两个函可以直接检查URL合法性,不需要手动去正则匹配校验。下面可以直接使用ParseRequestURI()函数解析URL,当然这个只会验证url格式,至于域名是否...
深入Go Map的使用技巧
之前写过一篇文章,Go map定义的几种方式以及修改技巧,今天发现还可以深入探讨下开发中容易被忽视遗漏的问题,以下以map为例,演示大家日常开发中可能存在的问题。Map的Value的赋值我们...
Golang接口型函数使用技巧
什么是接口型函数?顾名思义接口函数指的是用函数实现接口,这样在调用的时候就会非常简便,这种方式适用于只有一个函数的接口。这里以迭代一个map为例,演示这一实现的技巧。常规接口实现defer语句用于延迟...
golang的defer踩坑汇总
defer语句用于延迟函数调用,每次会把一个函数压入栈中,函数返回前再把延迟的函数取出并执行。延迟函数可以有参数:延迟函数的参数在defer语句出现时就已确定下来(传值的就是当前值)return先赋值...
Go语言中的零值
开箱即用什么叫开箱即用呢?因为Go语言的零值让程序变得更简单了,有些场景我们不需要显示初始化就可以直接用,举几个例子:切片,他的零值是nil,即使不用make进行初始化也是可以直接使用的,例如:pac...
Golang中字符串、数组、切片排序
使用Golang的sort包用来排序,包括二分查找等操作。下面通过实例代码来分享下sort包的使用技巧:package main import ( ...
为啥Context携带数据是线程安全的?
问题是:使用context携带的value是线程安全的吗?这道题其实就是考察应聘者对context实现原理的理解,如果不知道context的实现原理,很容易答错这道题,所以本文我就借着这道...