Go Programming

Go में संरचना चरों का कुशलतापूर्वक मुद्रण

Spread the love

Go में स्ट्रक्चर वेरिएबल की सामग्री को कंसोल आउटपुट में प्रदर्शित करने के कई प्रभावी तरीके हैं। यह गाइड तीन लोकप्रिय तरीकों का पता लगाता है: स्ट्रक्चर को परिभाषित करना, fmt.Printf फ़ंक्शन का उपयोग करना, और encoding/json पैकेज का उपयोग करना।

विषयवस्तु की तालिका

Go में स्ट्रक्चर घोषित करना

स्ट्रक्चर को प्रिंट करने से पहले, आपको इसे परिभाषित करना होगा। एक स्ट्रक्चर एक ही नाम के अंतर्गत विभिन्न प्रकार के मानों को समूहित करता है। यहाँ एक व्यक्ति का प्रतिनिधित्व करने वाला एक उदाहरण दिया गया है:


package main

import "fmt"

type Person struct {
	FirstName string
	LastName  string
	Age       int
}

func main() {
	person := Person{FirstName: "John", LastName: "Doe", Age: 30}
	// ... (प्रिंटिंग विधियाँ यहाँ जाएँगी) ...
}

यह पहले नाम, अंतिम नाम और आयु के लिए फ़ील्ड के साथ एक Person स्ट्रक्चर को परिभाषित करता है। एक उदाहरण, person, बनाया और आरंभ किया गया है।

fmt.Printf का उपयोग करना

fmt.Printf बहुमुखी स्वरूपित आउटपुट प्रदान करता है। आप स्ट्रक्चर फ़ील्ड को व्यक्तिगत रूप से प्रिंट कर सकते हैं, लेकिन बड़े स्ट्रक्चर के लिए यह बोझिल हो जाता है।


package main

import "fmt"

type Person struct {
	FirstName string
	LastName  string
	Age       int
}

func main() {
	person := Person{FirstName: "John", LastName: "Doe", Age: 30}
	fmt.Printf("Name: %s %s, Age: %dn", person.FirstName, person.LastName, person.Age)
}

यह स्वरूप स्पेसिफायर का उपयोग करके व्यक्ति की जानकारी प्रिंट करता है। कार्यात्मक होने के बावजूद, इसे प्रत्येक फ़ील्ड को मैन्युअल रूप से निर्दिष्ट करने की आवश्यकता होती है।

json.Marshal का लाभ उठाना

encoding/json पैकेज विशेष रूप से जटिल स्ट्रक्चर के लिए अधिक सुंदर समाधान प्रदान करता है। json.Marshal एक Go मान को JSON में परिवर्तित करता है, जिसे तब प्रिंट किया जाता है। यह स्वचालित रूप से सभी फ़ील्ड को संभालता है।


package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	FirstName string `json:"firstName"`
	LastName  string `json:"lastName"`
	Age       int    `json:"age"`
}

func main() {
	person := Person{FirstName: "John", LastName: "Doe", Age: 30}

	jsonData, err := json.Marshal(person)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}

	fmt.Println(string(jsonData))
}

json.Marshal person को JSON बाइट स्लाइस में परिवर्तित करता है। json:"..." टैग JSON फ़ील्ड नामों को नियंत्रित करते हैं। त्रुटि संचालन महत्वपूर्ण है। आउटपुट एक स्वरूपित JSON प्रतिनिधित्व है, जो लॉगिंग या डिबगिंग के लिए आदर्श है, और बड़े स्ट्रक्चर के लिए अच्छी तरह से स्केल करता है।

सही तरीका चुनना

fmt.Printf सरल स्ट्रक्चर के लिए बारीक नियंत्रण प्रदान करता है, जबकि json.Marshal जटिल स्ट्रक्चर के लिए एक संक्षिप्त और स्केलेबल समाधान प्रदान करता है। सबसे अच्छा तरीका आपके स्ट्रक्चर की जटिलता और विशिष्ट आवश्यकताओं पर निर्भर करता है।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *