«go-reflect» 태그된 질문

14
Go에서 개체 유형을 찾는 방법은 무엇입니까?
Go에서 개체 유형을 어떻게 찾습니까? 파이썬에서는 typeof객체 유형을 가져 오는 데 사용 합니다. 마찬가지로 Go에서도 동일한 구현 방법이 있습니까? 반복하는 컨테이너는 다음과 같습니다. for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value fmt.Printf(reflect.TypeOf(lines)) } 이 경우 문자열 배열 인 객체 줄의 유형을 얻을 수 없습니다.
387 go  go-reflect 


6
인터페이스 변환 유형 변환
Go가 암시 적으로 변환 []T할 []interface{}때 암시 적으로 변환하지 않는 이유가 궁금 T합니다 interface{}. 누락 된이 전환에 대해 사소한 것이 있습니까? 예: func foo([]interface{}) { /* do something */ } func main() { var a []string = []string{"hello", "world"} foo(a) } go build 불평하다 함수 인수에서 (] [type]을 (를) 유형 …


3
Go에서 구조체의 필드를 반복합니다.
기본적으로 a의 필드 값을 반복하는 유일한 방법 (내가 알고있는) struct은 다음과 같습니다. type Example struct { a_number uint32 a_string string } //... r := &Example{(2 << 31) - 1, "...."}: for _, d:= range []interface{}{ r.a_number, r.a_string, } { //do something with the d } 을 달성하는 더 좋고 더 …
107 go  go-reflect 

2
reflect를 사용하여 struct 필드의 값을 어떻게 설정합니까?
reflect패키지를 사용하여 구조체 필드로 작업하는 데 어려움을 겪고 있습니다. 특히 필드 값을 설정하는 방법을 찾지 못했습니다. 유형 t struct {fi int; fs 문자열} var rt = t {123, "jblow"} var i64 int64 = 456 필드 i의 이름 가져 오기-작동하는 것 같습니다. var field = reflect.TypeOf(r).Field(i).Name 필드 i의 값을 a) 인터페이스 …

2
Go에서 함수 이름을 얻는 방법은 무엇입니까?
함수가 주어지면 그 이름을 얻을 수 있습니까? 말하다: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } 나는 runtime.FuncForPC 가 도움이 될 것이라고 들었지만 그것을 사용하는 방법을 이해하지 못했습니다.

3
슬라이스를 저장하는 interface {}를 통한 범위
허용하는 함수가있는 시나리오가 주어지면 t interface{}. 이 t조각 이라고 판단되면 해당 조각을 어떻게 range덮어야합니까? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: // how do I iterate here? for _,value := range t { fmt.Println(value) } } …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.