মডিউল পাঠ (5/5)
fmt সহ ইনপুট/আউটপুট
স্ট্যান্ডার্ড লাইব্রেরির fmt প্যাকেজ হল প্রিন্ট করার জন্য আপনার প্রধান টুল
কনসোল, ফরম্যাটিং স্ট্রিং এবং রিডিং ইনপুট। যদি ব্যবহার করে থাকেন
printf সি-তে আপনি বাড়িতে ঠিক অনুভব করবেন, তবে কিছু অতিরিক্ত পরিমার্জন সহ
ধন্যবাদ %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 একটি error তৈরি করে Printf-শৈলী বিন্যাস সহ। সঙ্গে
বিশেষ ক্রিয়াপদ %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একটি নতুন লাইন যোগ করে না: ফর্ম্যাট স্ট্রিংয়ে এটি নিজেই লিখুন।