golang拾遗主要是用来记录一些遗忘了的.平时从没注意过的golang相关知识. 很久没更新了,我们先以一个谜题开头练练手: package main import ( "encoding/json" "fmt" "time" ) type MyTime time.Time func main() { myTime := MyTime(time.Now()) // 假设获得的时间是 2022年7月20日20:30:00,时区UTC+8 res,…
Redis的数据结构类型,指的是redis的值的value类型: Redis的常用数据结构类型:string,list,set,sortedSet,hash 一.sting的类型 string类型是redis最常见的数据结构类型,存储的值为字符串. 1.1String相关命令 set key value :设置一个key,值为value,类型为String类型:如果这个key已经存在,则更新这个key的值. 返回值 1表示成功 0表示失败 setnx key vale:如果这个key不存在,则设…
Redis有5中数据结构,他们是键值对中的值,对于键来说,有一些通用的命令: 一.查看所有键 keys * 二.获取键总数:dbsize 三.检查键是否存在 exists 如果存在返回1,不存在返回0 四.删除键  del key [key ……] 正常情况下返回结果为删除键的个数,假如删除了一个不存在的键,就返回0 同时del命令可以支持同时删除多个键 五.键过期expire key second 当redis的键超过过期时间之后,会自动删除 Ttl命令可以查看上虞的过期时间: 返回-1:键没…
基础类型 √ golang内建基础类型有布尔类型.整数类型.浮点类型.复数类型.字符串类型.字符类型和错误类型. 复合类型 √ golang支持的复合类型有指针.数组.数组切片.字典.通道.结构体和接口.…
Golang中的error类型 error类型本身就是一个预定义好的接口,里面定义了一个method type error interface { Error() string } 生成一个新的error并返回 一般有以下几种处理方式: package main import ( "errors" "fmt" ) type Customerror struct { infoa string infob string Err error } func (cerr Cu…
这里是golang拾遗系列的第三篇,前两篇可以点击此处链接跳转: golang拾遗:为什么我们需要泛型 golang拾遗:指针和接口 今天我们要讨论的是golang中的嵌入类型(embedding types),有时候也被叫做嵌入式字段(embedding fields). 我们将会讨论为什么使用嵌入类型,以及嵌入类型的一些"坑". 本文索引 什么是嵌入类型 嵌入类型的使用 嵌入类型字段引用 嵌入类型的初始化 嵌入类型的字段提升 什么是字段提升 提升是如何影响字段可见性的 提升是如何影…
ORACLE与.NET类型对应关系 想来这个是最重要的事情了,因为多数情况下,我们使用dbhelper来调用数据库的时候,是因为如下三个地方导致错误: 1.错误的sql语句:末尾多了分号,少了部分关键字 2.sql中的参数与parameter[]不对应. 3.parasmeter[]中的数据类型转为Oracle的数据类型中出错. 通常情况下,我们大设置paramenter[]时,只会给出变量名和对应的值(多数是.NET中的变量)去让ODP自动执行数据类型转换,而ODP一般都可以正确的转换,但是,…
因为我想做一个通用的Slice方法,AnySlice,但是将AnySlice定义为[]interface{ } 转换到别的类型,或者相互转换的时候都是会报错. 这是golang比较恶心人的一个地方了,不能做多层继承. 其实或许也是可以的,那就是要善用 unsafe.Pointer 和reflect 深层次的对象了,而不是简单的做 类型断言,类型转换了. type AnySlice 定义为 interface{ } ,每次调用的时候都去判断 reflect.Type 是否是reflect.Slic…
不可或缺的函数,在Go中定义函数的方式如下: func (p myType ) funcName ( a, b int , c string ) ( r , s int ) { return } 通过函数定义,我们可以看到Go中函数和其他语言中的共性和特性 共性 关键字——func 方法名——funcName 入参——— a,b int,b string 返回值—— r,s int 函数体—— {} 特性 Go中函数的特性是非常酷的,给我们带来不一样的编程体验. 为特定类型定义函数,即为类型对象…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题的第12篇文章,我们来继续聊聊interface的使用. 在上一篇文章当中我们介绍了面向对象的一些基本概念,以及golang当中interface和多态的实现方法.今天我们继续来介绍interface当中其他的一些方法. 万能类型interface 在Java以及其他语言当中接口是一种写法规范,而在golang当中,interface其实也是一种值,它可以像是值一样传递.并且在它的底层,它其实是一个值和类型的元组.…