如何使用反射包获取结构变量信息?

使用反射包,您还可以找到结构变量的名称和类型。
package main

import (
	"fmt"
	"reflect"
	
)
type Book struct {
	Id    int	
	Title string
	Price float32
	Authors []string 	
}
	
func main() {
    book := Book{}
    e := reflect.ValueOf(&book).Elem()
	
    for i := 0; i < e.NumField(); i++ {
		varName := e.Type().Field(i).Name
		varType := e.Type().Field(i).Type
		varValue := e.Field(i).Interface()
		fmt.Printf("%v %v %v\n", varName,varType,varValue)
    }
}
C:\golang\codes>go run example19.go
Id int 0
Title string
Price float32 0
Authors []string []

C:\golang\codes>

您必须阅读的解决方案

如何获取图像类型jpg jpeg png或gif的尺寸?

DecodeConfig配置函数的返回类型是struct image,它具有2个int变量Width和Height,通过它们可以获取Go中任何jpg jpeg gif或png图像的尺寸。

将字符串中的数字替换为零

在此示例中,我们用0替换任何1或2位数字。

Golang中的函数混乱(递归匿名函数)

Golang Slice接口和数组串联

示例:如何在Golang中使用IO包中的TeeReader?

TeeReader返回一个Reader,该Reader向w写入从r读取的内容。通过r执行的所有r读取都与对w的相应写入匹配。

Golang从给定的URL下载图像

用于验证电子邮件地址的正则表达式

如何杀死goroutine的执行?

通道具有关闭通道的关闭操作,因此无法在通道上进行发送操作。在关闭的通道上进行发送操作将导致恐慌。 在通道上执行接收操作时,我们检查通道是否关闭,如果通道关闭,则从goroutine退出。

从字符串中提取所有非字母数字字符的正则表达式

将整数类型转换为字符串类型

FormatInt将Integer数字i转换为String。