কীভাবে কোনও স্ট্রাক্টে একাধিক নাম ট্যাগ সংজ্ঞায়িত করতে হয়


137

আমাকে একটি মঙ্গো ডাটাবেস থেকে একটি আইটেম পেতে হবে, তাই আমি এই জাতীয় কাঠামো সংজ্ঞায়িত করেছি

type Page struct {
    PageId string                 `bson:"pageId"`
    Meta   map[string]interface{} `bson:"meta"`
}

এখন আমার এটিকে জেএসএনেও এনকোড করা দরকার, তবে এটি ক্ষেত্রগুলি বড় হাতের হিসাবে এনকোড করে (পেজআইডির পরিবর্তে আমি পেজআইডি পাই) সুতরাং জেএসএনের জন্য আমার ফিল্ড ট্যাগও সংজ্ঞায়িত করতে হবে। আমি এই জাতীয় কিছু চেষ্টা করেছি কিন্তু এটি কার্যকর হয়নি:

type Page struct {
    PageId string                 `bson:"pageId",json:"pageId"`
    Meta   map[string]interface{} `bson:"meta",json:"pageId"`
}

সুতরাং এটি কীভাবে করা যায়, স্ট্রাক্টে একাধিক নাম ট্যাগ সংজ্ঞায়িত করুন?

উত্তর:


238

এটি reflectপ্যাকেজের নথিতে বলেছে :

কনভেনশন অনুসারে ট্যাগ স্ট্রিংগুলি optionচ্ছিকভাবে পৃথক পৃথক কী: "মান" জোড়ার সংমিশ্রণ। প্রতিটি কী হ'ল ফাঁকা স্ট্রিং যা স্থান (U + 0020 ''), কোট (U + 0022 '"), এবং কোলন (U + 003A': ') ব্যতীত নিয়ন্ত্রনবিহীন অক্ষরের সমন্বয়ে থাকে। প্রতিটি মান উদ্ধৃত হয় U + 0022 '"' অক্ষর এবং গো স্ট্রিং আক্ষরিক সিনট্যাক্স ব্যবহার করে।

আপনাকে যা করতে হবে তা হ'ল ট্যাগ স্ট্রিং বিভাজক হিসাবে কমা পরিবর্তে স্থান ব্যবহার।

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}

5
এছাড়াও, নিশ্চিত করুন যে এটি কোনও স্থান দ্বারা পৃথক করা হয়েছে, কোনও ট্যাব দ্বারা নয়। cf. stackoverflow.com/questions/20215510/...
GreenRaccoon23

68

গৃহীত উত্তরের জন্য ধন্যবাদ।

নীচে কেবল আমার মতো অলস লোকের জন্য।

ত্রুটিপূর্ণ

type Page struct {
    PageId string                 `bson:"pageId",json:"pageId"`
    Meta   map[string]interface{} `bson:"meta",json:"pageId"`
}

সঠিক

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"pageId"`
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.