比方說,我想寫的是在切片 我直覺想寫找到一個值的函數: 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.