तारीख सेव करें: BazelCon 2023, 24 से 25 अक्टूबर तक Google म्यूनिख में होगा! ज़्यादा जानें

स्ट्रक्चर

किसी समस्या की शिकायत करें स्रोत देखें

फ़ील्ड के साथ सामान्य ऑब्जेक्ट.

स्ट्रक्चर बनाने के बाद, स्ट्रक्चर फ़ील्ड फिर से असाइन नहीं किए जा सकते. अगर दो फ़ील्ड एक जैसे हैं और फ़ील्ड से जुड़ी वैल्यू एक जैसी हैं, तो दो स्ट्रक्चर बराबर होते हैं.

पैसे चुकाकर बने सदस्य

स्ट्रक्चर

struct struct(**kwargs)

एट्रिब्यूट के तौर पर कीवर्ड आर्ग्युमेंट का इस्तेमाल करके, कोई नहीं बदला जा सकने वाला स्ट्रक्चर बनाएं. इसका इस्तेमाल, एक साथ कई वैल्यू को ग्रुप करने के लिए किया जाता है. उदाहरण:
s = struct(x = 2, y = 3)
return s.x + getattr(s, "y")  # returns 5

पैरामीटर

पैरामीटर जानकारी
kwargs डिफ़ॉल्ट = {}
तर्कों का शब्दकोश.

to_json

string struct.to_json()

इस्तेमाल में नहीं है. इस एपीआई का इस्तेमाल बंद कर दिया गया है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह ---incompatible_struct_has_no_methods के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड जल्द ही हटा दिया जाएगा.
संरचना पैरामीटर से एक JSON स्ट्रिंग बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, इंट, बूलियन, दूसरे स्ट्रक्चर, इन टाइप की सूची या स्ट्रिंग की ऐसी कुंजियां या टाइप हों जो इन टाइप की हों. कोट और नई लाइनों को स्ट्रिंग में एस्केप किया गया है. उदाहरण:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

बहिष्कृत: इसके बजाय, json.encode(x) या json.encode_indent(x) का उपयोग करें, जो संरचनाओं के अलावा अन्य मानों के लिए काम करता है और संरचना फ़ील्ड नेमस्पेस को प्रभावित नहीं करता है.

to_proto

string struct.to_proto()

इस्तेमाल में नहीं है. इस एपीआई का इस्तेमाल बंद कर दिया गया है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह ---incompatible_struct_has_no_methods के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड जल्द ही हटा दिया जाएगा.
संरचना पैरामीटर से एक टेक्स्ट संदेश बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी तरह के स्ट्रक्चर एलिमेंट (बार-बार होने वाले) स्ट्रिंग, इंट, बूलियन, दूसरे स्ट्रक्चर या टाइप या इस तरह की सूची हों. कोट और नई लाइनों को स्ट्रिंग में एस्केप किया गया है. स्ट्रक्चर्ड बटन, क्रम से लगाए गए हैं. उदाहरण:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

अब इस्तेमाल में नहीं है: इसके बजाय Proto.encode_text(x) का इस्तेमाल करें.