比方说,我想写的是在切片 我直觉想写找到一个值的函数: func find(s []interface{}, f func(interface{})bool) int {
for i, item := range s {
if f(item) {
return i
}
}
return -1
}
但我不管理与去做到这一点。我
我有两个结构: type A struct {
BankCode string `json:"bankCode"`
BankName string `json:"bankName"`
}
和: type B struct {
A
extra string `json:" extra"`
}
两片: listsA []A和listsB
这里是不工作的简单围棋程序: package main
import "fmt"
type Vertex struct {
X int
Y int
}
func main() {
v := Vertex{1, 2}
fmt.Println(getProperty(&v, "X"))
}
func getProperty(v *Vertex,
我最近一直在写一些审计过程。大多数这只是反射拆分任意构造。存在可用于对象相等的接口。并非所有被撕开的东西都实现了这个接口,并且比较可以在任意类型之间(对象相等并不意味着类型相同)。 由于被比较的东西不需要是相同的类型,所以有些东西是一边是指针而另一边是值(* string vs string或* ChickenBox vs BoxOfChicken)。当我遇到它时,我只是简单地解引用指针/接口的值
我使用反射在go,我注意到以下表示古怪: package main
import (
"log"
"reflect"
)
type Foo struct {
a int
b int
}
func main() {
t := reflect.TypeOf(Foo{})
log.Println(t) // main.