গো-তে স্ট্রিংগুলি কীভাবে ফর্ম্যাট করবেন

গো-তে স্ট্রিংগুলি কীভাবে ফর্ম্যাট করবেন

আপনি Go কোড লেখার সাথে সাথে আপনি অনেক পরিস্থিতিতে স্ট্রিং ফর্ম্যাটিং খুব দরকারী খুঁজে পাবেন। আপনি ইনপুট পার্সিং করতে পারেন বা সাধারণ সংমিশ্রণের চেয়ে আরও জটিল আউটপুট তৈরি করতে পারেন। আপনি প্লেইন স্ট্রিং ছাড়া অন্য ধরনের সঙ্গে কাজ করতে পারেন.





কিভাবে মুছে ফেলা ইউটিউব ভিডিওগুলি দেখতে হয়

Go-তে স্ট্রিং ফরম্যাটিং প্রিন্টএফ ফাংশনের পরিচিত প্রক্রিয়া এবং সিনট্যাক্স ব্যবহার করে, যা Java থেকে Haskell পর্যন্ত ভাষাও ব্যবহার করে।





Go এ স্ট্রিং ফরম্যাট করার জন্য বিভিন্ন পদ্ধতি প্রদান করে fmt প্যাকেজ আপনি যে অপারেশন বা ইনপুটগুলি ফর্ম্যাট করতে চান তার উপর নির্ভর করে আপনি স্ট্রিং বিন্যাসের জন্য ফাংশন এবং ক্রিয়া ব্যবহার করতে পারেন।





Go এ স্ট্রিং ফরম্যাটিং

fmt প্যাকেজের ফাংশনগুলি কাউন্টারপার্টের মতো, যেমন ব্যাশে printf ফাংশন অথবা C. Go এর বিন্যাস ক্রিয়া C থেকে উদ্ভূত হয়েছে।

তুমি ব্যাবহার কর স্ট্রিং ফরম্যাটিং ক্রিয়া একটি ধারণকারী স্ট্রিং আপনার পরিবর্তনশীল মান জন্য স্থানধারক হিসাবে. আপনি তারপর একটি ফাংশন যে ফর্ম্যাটিং স্ট্রিং পাস করতে পারেন মত Printf , সেই স্থানধারকদের সাথে সংশ্লিষ্ট মান সহ।



আপনি এর সাথে স্ট্রিং ফর্ম্যাটিং ক্রিয়া ব্যবহার করতে পারবেন না ছাপা এবং Println পদ্ধতি আপনি তাদের মত পদ্ধতি ব্যবহার করতে পারেন Printf এবং স্প্রিন্টফ .

fmt.Println("This is a test %v", 90) 
fmt.Printf("This is a test %v", 90)

দ্য %ভিতরে verb তার ডিফল্ট বিন্যাসে যেকোনো মান প্রিন্ট করে। দ্য Println পদ্ধতিটি ক্রিয়াপদগুলিকে চিনতে পারে না এবং এটি প্রাপ্ত যাই হোক না কেন আর্গুমেন্ট প্রিন্ট করে। দ্য Printf এবং স্প্রিন্টফ ফাংশন উভয়ই প্রথম স্ট্রিং আর্গুমেন্ট ফরম্যাট করে যা আপনি তাদের কাছে পাস করেন।





  পূর্ণসংখ্যা বিন্যাসের ফলাফল

fmt প্যাকেজে স্ট্রিং ফরম্যাটিং ফাংশন

মধ্যে স্ট্রিং বিন্যাস গো প্রোগ্রামিং ভাষা আপনাকে একটি স্ট্রিং ফরম্যাটিং ফাংশন এবং একটি ক্রিয়া ব্যবহার করতে হবে। ফাংশন ফরম্যাট করা স্ট্রিং প্রদান করে এবং ক্রিয়াগুলি হল স্ট্রিং-এ ইনপুটগুলির স্থানধারক।

দ্য Printf মেথড ফরম্যাট স্পেসিফায়ার অনুযায়ী ইনপুট ফরম্যাট করে এবং লিখিত বাইট বা ত্রুটির সংখ্যা ফেরত দেয়।





fmt.Printf("This is a test %v", 90) 

প্রচলিতভাবে, আপনি ব্যবহার করার সময় আপনাকে ত্রুটি সম্পর্কে চিন্তা করতে হবে না Printf পদ্ধতি

দ্য স্প্রিন্টফ পদ্ধতি নির্দিষ্ট বিন্যাস অনুযায়ী বিন্যাস করে এবং একটি স্ট্রিং হিসাবে ফলাফল প্রদান করে।

var result = fmt.Sprintf("This is a test %v", 90) 

দ্য Fprintf মেথড স্ট্রিং ফরম্যাট করে এবং একজন লেখকের কাছে লেখে (পদ্ধতি যা বাস্তবায়ন করে io.Writer ইন্টারফেস)

// write data to standard output 
result, err = fmt.Fprintf(writer, "This is a test %v", 90)

দ্য Fscanf পদ্ধতি একটি পাঠক থেকে স্ক্যান এবং নির্দিষ্ট বিন্যাস অনুযায়ী বিন্যাস.

var take string 

// read data from the given string
readString := strings.NewReader("This is a test")

read, err := fmt.Fscanf(reader, "%v", &take)

এই ক্ষেত্রে, দ Fscanf পাঠক থেকে স্ট্রিংকে ডিকোড করে গ্রহণ করা পরিবর্তনশীল, এবং পড়া ভেরিয়েবল ফরম্যাটের ফলাফল ধারণ করে।

স্ট্রিং ফরম্যাটিং ক্রিয়া

Go অনেক ফরম্যাটিং ক্রিয়া প্রদান করে যা আপনি স্ট্রিং ফরম্যাটিং ফাংশন সহ ব্যবহার করতে পারেন।

সাধারণ স্ট্রিং ফরম্যাটিং ক্রিয়া আছে যেমন %ভিতরে স্ট্রিং ফরম্যাটিং ফাংশন উদাহরণে ক্রিয়া। যেকোন ডাটা টাইপ ফরম্যাট করতে আপনি সাধারণ স্ট্রিং ফরম্যাটিং ক্রিয়া ব্যবহার করতে পারেন।

কিভাবে imessage এ একটি গ্রুপ চ্যাট ছেড়ে দিতে হয়

আপনি ব্যবহার করতে পারেন %#ভিতরে যে কোনো মান আউটপুট করতে verb, the %+v কাঠামোর জন্য, % টি যে কোনো মানের জন্য ক্রিয়া, এবং %% কোন মান জন্য ক্রিয়া.

type any struct {  
name string
age int
isLoggedIn bool
}

var instance = any {
name: "John Doe",
age: 34,
isLoggedIn: true,
}

var result = fmt.Sprintf("This is a struct formatting example %+v", instance)
fmt.Println(result)

দ্য ফলাফল ভেরিয়েবল ইনস্ট্যান্টিয়েটেড স্ট্রাকটের ফর্ম্যাট করা স্ট্রিং ধরে রাখে। আপনি যদি এটি প্রিন্ট আউট করেন তবে এটি দেখতে এইরকম কিছু হওয়া উচিত:

This is a struct formatting example {name:John Doe age:34 isLoggedIn:true}

চ্যানেল এবং পয়েন্টার সহ নির্দিষ্ট গো নেটিভ ডেটা টাইপ ফর্ম্যাট করার জন্য ক্রিয়াপদ রয়েছে।

%t বুলিয়ানস
%d int, int8, ইত্যাদি
%d, %#x যদি %#v দিয়ে প্রিন্ট করা হয় uint, uint8, ইত্যাদি
%g float32, complex64, ইত্যাদি
%s স্ট্রিং
%p চ্যান
% পি নির্দেশক

আপনি নিশ্চিত করতে চাইবেন যে আপনি ক্রিয়াপদের সাথে ভুল করবেন না যেহেতু তারা কেস-সংবেদনশীল, যেমন চ্যান এবং নির্দেশক ক্রিয়া

পূর্ণসংখ্যা এবং ফ্লোট ফরম্যাটিং

মধ্যে পূর্ণসংখ্যা বিন্যাস জন্য স্ট্রিং বিন্যাস ক্রিয়া আছে বিভিন্ন ঘাঁটি . আপনি পূর্ণসংখ্যা বিন্যাস করতে এই ক্রিয়াপদের যেকোনো ব্যবহার করতে পারেন

%b ভিত্তি 2
% গ সংশ্লিষ্ট ইউনিকোড কোড পয়েন্ট দ্বারা প্রতিনিধিত্ব করা অক্ষর।
%d ভিত্তি 10।
%O ভিত্তি 8।
%O 0o উপসর্গ সহ বেস 8।
%q একটি একক-উদ্ধৃত অক্ষর আক্ষরিক নিরাপদে Go সিনট্যাক্সের সাথে পালিয়ে গেছে।
%এক্স বেস 16, a-f-এর জন্য ছোট হাতের অক্ষর সহ।
%এক্স A-F-এর জন্য বড় হাতের অক্ষর সহ বেস 16।
%ভিতরে ইউনিকোড বিন্যাস: U+1234; 'U+%04X' এর মতই।

উদাহরণস্বরূপ, আপনি ব্যবহার করে একটি পূর্ণসংখ্যা বিন্যাস করতে পারেন %d ক্রিয়া:

var result = fmt.Sprintf("This is an integer formatting example %d", 90) 
fmt.Println(result)

এই ফ্লোটিং পয়েন্ট সংখ্যা বিন্যাস জন্য ক্রিয়া.

%b স্ট্রকনভের পদ্ধতিতে সূচকবিহীন বৈজ্ঞানিক স্বরলিপি দুইটির ঘাত। 'b' বিন্যাস সহ FormatFloat, যেমন -123456p-78
%এবং বৈজ্ঞানিক স্বরলিপি, যেমন -1.234456e+78
%এবং দশমিক বিন্দু কিন্তু কোনো সূচক নেই, যেমন, 123.456
%f দশমিক বিন্দু কিন্তু কোনো সূচক নেই, যেমন, 123.456
%F %f এর সমার্থক।
%g বড় সূচকের জন্য %e, অন্যথায় %f। নিচে নির্ভুলতা.
%G বড় সূচকের জন্য %E, অন্যথায় %F
%এক্স হেক্সাডেসিমেল নোটেশন (দুটি সূচকের দশমিক শক্তি সহ), যেমন, -0x1.23abcp+20।
%এক্স বড় হাতের হেক্সাডেসিমেল নোটেশন, যেমন -0X1.23ABCP+20।

এখানে সূচক ছাড়াই দশমিক বিন্দু বিন্যাস করার একটি উদাহরণ %f ক্রিয়া

var result = fmt.Sprintf("This is a floating point formatting example %f", 432.9503) 
fmt.Println(result)

আপনি যদি প্রকার সম্পর্কে অনিশ্চিত হন তবে আপনি সর্বদা সাধারণ ক্রিয়া ব্যবহার করতে পারেন।

স্ট্রিং এবং বাইট ফরম্যাটিং

স্ট্রিং এবং বাইট ধরনের স্লাইস গো-তে বেশ একই রকম। এই স্ট্রিং এবং বাইট বিন্যাস জন্য পতাকা হয়.

%s স্ট্রিং বা স্লাইসের অব্যক্ত বাইট
%q একটি ডবল-উদ্ধৃত স্ট্রিং নিরাপদে Go সিনট্যাক্সের সাথে পালিয়ে গেছে
%এক্স বেস 16, ছোট হাতের, প্রতি বাইটে দুটি অক্ষর
%এক্স বেস 16, বড় হাতের, বাইট প্রতি দুটি অক্ষর

এর সাথে একটি স্ট্রিং ফর্ম্যাট করার একটি উদাহরণ এখানে %s ক্রিয়া

var score = "example" 
var result = fmt.Sprintf("This is a string formatting example %s", score)
fmt.Println(result)

পাইথন প্রোগ্রামিংয়ের জন্য fmt প্যাকেজ অপরিহার্য

দ্য fmt প্যাকেজটিতে স্ট্রিং ফরম্যাটিংয়ের জন্য আপনার প্রয়োজনীয় বেশিরভাগ কার্যকারিতা রয়েছে। Go এছাড়াও একটি প্রদান করে স্ট্রিং স্ট্রিং ম্যানিপুলেশন এবং একটি জন্য প্যাকেজ লগ প্যাকেজ যা লগিংয়ের জন্য স্ট্রিং ফর্ম্যাট করতে পারে।

দ্য fmt প্যাকেজের ফাংশন রয়েছে যা বাস্তবায়ন করে io.Writer এবং io.পাঠক ইন্টারফেস আপনি এটি ওয়েব এবং কমান্ড লাইন অ্যাপ্লিকেশন তৈরির মতো অনেক ব্যবহারের ক্ষেত্রে দরকারী বলে মনে করবেন।