文章目录
1.什么是反射?如何在 Go 中使用反射??
反射是指程序在运行时可以访问和操作自身的结构,实现了对类型信息的动态获取和修改。在 Go 语言中,可以通过 reflect
包来进行反射操作,例如:
var x float64 = 3.14
v := reflect.ValueOf(x)
fmt.Println(v.Kind(), v.Float())
在上面的代码中,我们使用 reflect.ValueOf() 函数获取变量 x 的值,并使用 Kind() 和 Float()
方法来访问其类型和数值。
2.如何在 Go 中实现单例模式?
在 Go 语言中,可以使用 sync 包中的 Once 类型和 sync.Mutex 类型来实现单例模式。例如:
type Singleton struct {
}
var instance *Singleton
var once sync.Once