మాడ్యూల్ పాఠాలు (5/5)
fmtతో ఇన్పుట్/అవుట్పుట్
స్టాండర్డ్ లైబ్రరీ యొక్క fmt ప్యాకేజీ ప్రింటింగ్ కోసం మీ ప్రధాన సాధనం
కన్సోల్, స్ట్రింగ్స్ ఫార్మాటింగ్ మరియు ఇన్పుట్ చదవడం. మీరు ఉపయోగించినట్లయితే
printf C లో మీరు ఇంట్లో ఉన్నట్లు అనిపిస్తుంది, కానీ కొంత అదనపు మెరుగుదలతో
%v మరియు %T క్రియలకు ధన్యవాదాలు.
Print, Println, Printf: మూడు విధులు, మూడు ప్రవర్తనలు
fmt.Print("ciao ", "mondo") // "ciao mondo" (niente newline finale)
fmt.Println("ciao", "mondo") // "ciao mondo\n" (newline + spazi tra argomenti)
fmt.Printf("eta=%d\n", 36) // "eta=36\n" (format string esplicita)మీరు అన్ని సమయాలలో ఉపయోగించే క్రియలు
| క్రియ | ఇది ఏమి ప్రింట్ చేస్తుంది | ఉదాహరణ |
|---|---|---|
%v | "డిఫాల్ట్ విలువ" — ఏదైనా రకం | పని చేస్తుంది {Ada 36} |
%+v | %v లాగా కానీ ఫీల్డ్ పేర్లతో స్ట్రక్ట్స్ | {Name:Ada Age:36} |
%#v | విలువ యొక్క "గో-సింటాక్స్" ప్రాతినిధ్యం | main.User{Name:"Ada", Age:36} |
%T | విలువ రకం | float64 |
%d | బేస్ 10లో పూర్ణాంకం | 42 |
%f | ఫ్లోట్ | 3.140000 |
%.2f | 2 దశాంశాలతో ఫ్లోట్ | 3.14 |
%s | స్ట్రింగ్ | Ada |
%q | "కోట్ చేయబడిన" స్ట్రింగ్ (కోట్లు మరియు ఎస్కేప్లతో) | "Ada\n" |
%t | bool | true |
%x | హెక్సాడెసిమల్ (చిన్న అక్షరం) | 2a |
%b | బైనరీ | 101010 |
u := struct{ Name string; Age int }{"Ada", 36}
fmt.Printf("%v\n", u) // {Ada 36}
fmt.Printf("%+v\n", u) // {Name:Ada Age:36}
fmt.Printf("%T\n", 3.14) // float64Sprintf: తీగలను ముద్రించకుండా నిర్మించడం
Printf వలె అదే ఇంటర్ఫేస్, కానీ ఫలితం మీకు అందించబడుతుంది
string:
msg := fmt.Sprintf("L'utente %s ha %d anni", "Ada", 36)
fmt.Println(msg) // L'utente Ada ha 36 anniసందేశాలు, లాగ్లు మరియు ఎర్రర్లను రూపొందించడానికి మీరు దీన్ని నిరంతరం ఉపయోగిస్తారు.
లోపం: స్ట్రింగ్స్ + ఎర్రర్ ర్యాపింగ్
fmt.Errorf Printf-శైలి ఫార్మాటింగ్తో errorని సృష్టిస్తుంది. తో
ప్రత్యేక క్రియ %w మీరు ఇప్పటికే ఉన్న లోపాన్ని భద్రపరచడానికి రాప్
చైన్ (మేము దీనిని ఇంటర్ఫేస్ల మాడ్యూల్లో లోతుగా కవర్ చేస్తాము):
if _, err := os.Open("missing"); err != nil {
return fmt.Errorf("apertura config: %w", err)
}మీ వంతు
fmt.Printlnని ఉపయోగించి 'ciao mondo' స్ట్రింగ్ను ప్రింట్ చేయండి.
సూచనను చూపించు
`fmt.Println` స్ట్రింగ్ని తీసుకుని, కొత్త లైన్ను జతచేస్తుంది.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
పూర్ణాంకం కోసం %d క్రియను ఉపయోగించి, కొత్త లైన్తో 'eta=36'ని ప్రింట్ చేయడానికి fmt.Printf ఉపయోగించండి.
సూచనను చూపించు
`Printf` కొత్త లైన్ని జోడించదు: మీరు ఫార్మాట్ స్ట్రింగ్లో `\\n`ని చేర్చాలి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
ఏ క్రియ విలువ యొక్క డైనమిక్ TYPEని ముద్రిస్తుంది?
fmt.Printf("?\n", 3.14)రీక్యాప్
Print/Println/Printfస్పేస్లు మరియు కొత్త లైన్లలో తేడా ఉంటుంది.%vఅనేది ఏ రకంలోనైనా పనిచేసే వైల్డ్కార్డ్;%+vఫీల్డ్ పేర్లను చూపుతుంది.%Tరకాన్ని ప్రింట్ చేస్తుంది (త్వరిత డీబగ్గింగ్ కోసం ఉపయోగపడుతుంది).Sprintfస్ట్రింగ్లను నిర్మిస్తుంది;Errorfర్యాపింగ్తో లోపాలను సృష్టిస్తుంది (%w).Printfకొత్త లైన్ని జోడించదు: ఫార్మాట్ స్ట్రింగ్లో మీరే వ్రాయండి.