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
जटिल स्ट्रक्चर के लिए एक संक्षिप्त और स्केलेबल समाधान प्रदान करता है। सबसे अच्छा तरीका आपके स्ट्रक्चर की जटिलता और विशिष्ट आवश्यकताओं पर निर्भर करता है।