Câu hỏi được gắn thẻ «go-reflect»

14
Làm thế nào để tìm loại đối tượng trong Go?
Làm cách nào để tìm loại đối tượng trong Go? Trong Python, tôi chỉ sử dụng typeofđể tìm nạp loại đối tượng. Tương tự như vậy trong Go, có cách nào để thực hiện tương tự không? Đây là container mà tôi đang lặp đi lặp lại: for e := …
387 go  go-reflect 


6
Kiểu chuyển đổi lát giao diện
Tôi tò mò tại sao Go không hoàn toàn chuyển đổi []Tthành []interface{}khi nào nó sẽ hoàn toàn chuyển đổi Tthành interface{}. Có điều gì không tầm thường về chuyển đổi này mà tôi đang thiếu? Thí dụ: func foo([]interface{}) { /* do something */ } func main() { var …


3
Lặp lại các trường của một cấu trúc trong Go
Về cơ bản, cách duy nhất (mà tôi biết) để lặp qua các giá trị của các trường của a structlà như sau: type Example struct { a_number uint32 a_string string } //... r := &Example{(2 << 31) - 1, "...."}: for _, d:= range []interface{}{ r.a_number, r.a_string, } { …
107 go  go-reflect 


2
Làm thế nào để lấy tên của một hàm trong Go?
Cho một hàm, có thể lấy tên của nó không? Nói: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Tôi đã được thông báo rằng runtime.FuncForPC sẽ hữu ích, nhưng tôi không hiểu cách sử …

3
phạm vi trên giao diện {} lưu trữ một lát
Đưa ra tình huống mà bạn có một hàm chấp nhận t interface{}. Nếu nó được xác định rằng đó tlà một lát cắt, làm thế nào để tôi rangevượt qua lát cắt đó? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { …
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.