go

整点半小时Golang time.Round()函数及示例

Golang time.Round()函数及示例 在Golang的time包中,有一个非常常用的函数——time.Round(),它的作用是将时间按照整点或半点进行四舍五入。本文将介绍该函数的用法及其示例。 函数介绍 time.Round()函数的...

Go调用NSQ简单实践

本文主要是Go语言调用NSQ的简单实践,demo分为两部分:生产者和消费者。 生产者: /** * nsq demo - 生产者 * author: JetWu * date: 2020.05.06 */ package main import ( "fmt" ...

Go语言inject库:依赖注入

在介绍 inject 之前我们先来简单介绍一下“依赖注入”和“控制反转”这两个概念。 正常情况下,对函数或方法的调用是我们的主动直接行为,在调用某个函数之前我们需要清楚地知道被调函数的名称是什么,参数有哪些...

Go语言通过反射调用函数

如果反射值对象(reflect.Value)中值的类型为函数时,可以通过 reflect.Value 调用该函数。使用反射调用函数时,需要将参数使用反射值对象的切片 []reflect.Value 构造后传入 Call() 方法中,调用完成时,函数的...

Go语言通过类型信息创建实例

当已知 reflect.Type 时,可以动态地创建这个类型的实例,实例的类型为指针。例如 reflect.Type 的类型为 int 时,创建 int 的指针,即*int,代码如下: package main import ( "fmt" "reflect" )...

Go语言通过反射修改变量的值

Go语言中类似 x、x.f[1] 和 *p 形式的表达式都可以表示变量,但是其它如 x + 1 和 f(2) 则不是变量。一个变量就是一个可寻址的内存空间,里面存储了一个值,并且存储的值可以通过内存地址来更新。 对于 reflec...

Go语言通过反射访问结构体成员的值

反射值对象(reflect.Value)提供对结构体访问的方法,通过这些方法可以完成对结构体任意值的访问,如下表所示。 反射值对象的成员访问方法 方 法 备 注 Field(i int) Value 根据索引,返回索引对应的结...

Go语言结构体标签(Struct Tag)

通过 reflect.Type 获取结构体成员信息 reflect.StructField 结构中的 Tag 被称为结构体标签(Struct Tag)。结构体标签是对结构体字段的额外信息标签。 JSON、BSON 等格式进行序列化及对象关系映射(Object R...