প্রশ্ন ট্যাগ «go-reflect»

14
কীভাবে কোনও বস্তুর ধরণ খুঁজে পাবেন?
আমি কীভাবে কোনও বস্তুর ধরণ খুঁজে পাব? পাইথনে, আমি কেবলমাত্র typeofবস্তুর প্রকারটি আনতে ব্যবহার করি । একইভাবে গো তেও কি একইরকম বাস্তবায়ন করার উপায় আছে? এখানে যে ধারকটি থেকে আমি পুনরাবৃত্তি করছি তা এখানে: for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value fmt.Printf(reflect.TypeOf(lines)) } …
387 go  go-reflect 


6
ইন্টারফেস রূপান্তরকারী টুকরা টাইপ করুন
আমি কৌতূহল যে কেন গো সংক্ষিপ্ত রূপান্তর করবে []Tনা []interface{}যখন তা স্পষ্টত রূপান্তরিত Tহবে interface{}। এই রূপান্তরটি সম্পর্কে আমি কি কিছু মিস করছি তা মিস করছি? উদাহরণ: func foo([]interface{}) { /* do something */ } func main() { var a []string = []string{"hello", "world"} foo(a) } go build অভিযোগ ফাংশন …

5
দুটি স্ট্রাইক, টুকরো বা মানচিত্র সমান হলে কীভাবে তুলনা করবেন?
আমি দুটি স্ট্রাক, টুকরা এবং মানচিত্র সমান কিনা তা পরীক্ষা করতে চাই। তবে আমি নিম্নলিখিত কোডটি নিয়ে সমস্যায় পড়ছি। প্রাসঙ্গিক লাইনে আমার মন্তব্য দেখুন। package main import ( "fmt" "reflect" ) type T struct { X int Y string Z []int M map[string]int } func main() { t1 := T{ …
131 go  go-reflect 

3
গোতে কোনও স্ট্রাক্টের ক্ষেত্রগুলি দিয়ে ইটারেট করুন
মূলত, এর ক্ষেত্রগুলির মানগুলির মধ্য দিয়ে পুনরাবৃত্তি করার একমাত্র উপায় (যা আমি জানি) 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প্যাকেজ ব্যবহার করে স্ট্রাক্ট ফিল্ডগুলির সাথে কাজ করতে মোটামুটি সময় কাটাচ্ছে । ক্ষেত্রের মানটি কীভাবে সেট করবেন তা নির্দিষ্ট করে খুঁজে বের করতে পারেননি। টাইপ টি স্ট্রাক্ট {ফাই ইন্ট; এফএস স্ট্রিং} var rt = t {123, "jblow"} var i64 int64 = 456 ক্ষেত্রের নাম পাওয়া i - এটি কাজ করে …

2
কীভাবে কোনও ফাংশনের নাম পাবেন?
একটি ফাংশন দেওয়া হয়েছে, এটির নাম পাওয়া কি সম্ভব? বলুন: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } আমাকে বলা হয়েছিল রানটাইম.ফানকফরপিসিসি সাহায্য করবে, তবে কীভাবে এটি ব্যবহার করতে হয় তা বুঝতে আমি ব্যর্থ হয়েছি।

3
ইন্টারফেস ওভারের পরিসীমা {} যা একটি স্লাইস সঞ্চয় করে
আপনার এমন কোনও ফাংশন রয়েছে যা গ্রহণ করবে সেই দৃশ্যে 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: // …
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.