گو میں سٹرنگز کو فارمیٹ کرنے کا طریقہ

گو میں سٹرنگز کو فارمیٹ کرنے کا طریقہ

جیسا کہ آپ گو کوڈ لکھتے ہیں، آپ کو بہت سے حالات میں سٹرنگ فارمیٹنگ بہت مفید معلوم ہوگی۔ ہو سکتا ہے کہ آپ ان پٹس کو پارس کر رہے ہوں یا سادہ کنکٹنیشن سے زیادہ پیچیدہ آؤٹ پٹ تیار کر رہے ہوں۔ ہو سکتا ہے آپ سادہ تاروں کے علاوہ دیگر اقسام کے ساتھ کام کر رہے ہوں۔





گو میں سٹرنگ فارمیٹنگ پرنٹ ایف فنکشن کے واقف عمل اور نحو کو استعمال کرتی ہے، جو جاوا سے ہاسکل تک کی زبانیں بھی استعمال کرتی ہیں۔





گو میں سٹرنگ فارمیٹنگ کے لیے مختلف طریقے فراہم کرتا ہے۔ ایف ایم ٹی پیکج آپ سٹرنگ فارمیٹنگ کے لیے فنکشنز اور فعل استعمال کر سکتے ہیں اس آپریشن یا ان پٹس پر منحصر ہے جو آپ فارمیٹ کرنا چاہتے ہیں۔





گو میں اسٹرنگ فارمیٹنگ

fmt پیکیج میں افعال ہم منصبوں کی طرح ہیں، جیسے bash میں printf فنکشن یا C. Go اپنے فارمیٹنگ فعل C سے اخذ کرتا ہے۔

تم استعمال کرتے ہو سٹرنگ فارمیٹنگ فعل ایک پر مشتمل سٹرنگ میں آپ کی متغیر اقدار کے پلیس ہولڈرز کے طور پر۔ اس کے بعد آپ اس فارمیٹنگ سٹرنگ کو کسی فنکشن میں منتقل کر سکتے ہیں۔ پرنٹ ایف ان پلیس ہولڈرز سے مطابقت رکھنے والی اقدار کے ساتھ۔



آپ اسٹرنگ فارمیٹنگ فعل کے ساتھ استعمال نہیں کر سکتے پرنٹ کریں اور پرنٹ ایل این طریقے آپ انہیں جیسے طریقوں کے ساتھ استعمال کر سکتے ہیں۔ پرنٹ ایف اور سپرنٹ ایف .

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

دی میں فعل کسی بھی قدر کو اپنے ڈیفالٹ فارمیٹ میں پرنٹ کرتا ہے۔ دی پرنٹ ایل این طریقہ فعل کو نہیں پہچانتا اور جو بھی دلائل اسے موصول ہوتا ہے اسے پرنٹ کرتا ہے۔ دی پرنٹ ایف اور سپرنٹ ایف فنکشنز دونوں پہلی سٹرنگ آرگیومنٹ کو فارمیٹ کرتے ہیں جسے آپ ان کے پاس دیتے ہیں۔





  فارمیٹنگ انٹیجرز کا نتیجہ

ایف ایم ٹی پیکیج میں سٹرنگ فارمیٹنگ کے فنکشنز

فارمیٹنگ سٹرنگز میں گو پروگرامنگ زبان آپ سے سٹرنگ فارمیٹنگ فنکشن اور ایک فعل استعمال کرنے کی ضرورت ہے۔ فنکشن فارمیٹ شدہ اسٹرنگ کو لوٹاتا ہے، اور فعل اسٹرنگ میں ان پٹس کے پلیس ہولڈر ہیں۔

دی پرنٹ ایف طریقہ ان پٹ کو فارمیٹ اسپیفائر کے مطابق فارمیٹ کرتا ہے اور تحریری بائٹس یا غلطیوں کی تعداد لوٹاتا ہے۔





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

روایتی طور پر، آپ کو استعمال کرتے وقت غلطیوں کے بارے میں فکر کرنے کی ضرورت نہیں ہوگی۔ پرنٹ ایف طریقہ

دی سپرنٹ ایف طریقہ مخصوص فارمیٹ کے مطابق فارمیٹ کرتا ہے اور نتیجہ کو سٹرنگ کے طور پر دیتا ہے۔

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)

اس صورت میں، the Fscanf ریڈر سے سٹرنگ کو ڈی کوڈ کرتا ہے۔ لے متغیر، اور پڑھیں متغیر فارمیٹ کا نتیجہ رکھتا ہے۔

سٹرنگ فارمیٹنگ فعل

Go بہت سے فارمیٹنگ فعل فراہم کرتا ہے جنہیں آپ سٹرنگ فارمیٹنگ کے افعال کے ساتھ استعمال کر سکتے ہیں۔

عام سٹرنگ فارمیٹنگ فعل ہیں جیسے میں سٹرنگ فارمیٹنگ افعال کی مثالوں میں فعل۔ آپ کسی بھی ڈیٹا کی قسم کو فارمیٹ کرنے کے لیے عمومی سٹرنگ فارمیٹنگ فعل استعمال کر سکتے ہیں۔

آپ استعمال کر سکتے ہیں۔ %#ان کسی بھی قدر کو آؤٹ پٹ کرنے کے لیے فعل، %+v ڈھانچے کے لئے، %T کسی بھی قدر کی قسم کے لیے فعل، اور %% کسی قدر کے لیے فعل۔

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 چان
%P پوائنٹر

آپ اس بات کو یقینی بنانا چاہیں گے کہ آپ فعل کے ساتھ غلطیاں نہ کریں کیونکہ وہ کیس کے لحاظ سے حساس ہیں، جیسے چان اور پوائنٹر فعل

کمپیوٹر پر wii u کنٹرولر استعمال کریں۔

فارمیٹنگ انٹیجرز اور فلوٹس

انٹیجرز کو فارمیٹنگ کرنے کے لیے سٹرنگ فارمیٹنگ فعل موجود ہیں۔ مختلف اڈوں . آپ ان میں سے کوئی بھی فعل انٹیجرز کو فارمیٹ کرنے کے لیے استعمال کر سکتے ہیں۔

%b بنیاد 2
%c متعلقہ یونیکوڈ کوڈ پوائنٹ کے ذریعہ پیش کردہ کردار۔
%d بنیاد 10
%O بنیاد 8۔
%O بیس 8 0o سابقہ ​​کے ساتھ۔
%q ایک واحد اقتباس کردہ حرف لفظی طور پر گو نحو کے ساتھ محفوظ طریقے سے بچ گیا۔
٪ایکس بیس 16، a-f کے لیے چھوٹے حروف کے ساتھ۔
٪ایکس بیس 16، A-F کے لیے بڑے حروف کے ساتھ۔
%IN یونیکوڈ فارمیٹ: U+1234؛ جیسا کہ 'U+%04X'۔

مثال کے طور پر، آپ کا استعمال کرتے ہوئے ایک عدد کو فارمیٹ کر سکتے ہیں۔ %d فعل:

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

یہ فلوٹنگ پوائنٹ نمبرز کو فارمیٹ کرنے کے لیے فعل ہیں۔

%b اعشاریہ کے بغیر سائنسی اشارے جس میں ایکسپوننٹ دو کی طاقت ہے، strconv کے انداز میں۔ '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 گو نحو کے ساتھ ایک ڈبل کوٹڈ سٹرنگ محفوظ طریقے سے بچ گئی۔
٪ایکس بیس 16، لوئر کیس، دو حروف فی بائٹ
٪ایکس بیس 16، اپر کیس، دو حروف فی بائٹ

کے ساتھ سٹرنگ کو فارمیٹ کرنے کی ایک مثال یہ ہے۔ %s فعل

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

ایف ایم ٹی پیکیج ازگر پروگرامنگ کے لیے ضروری ہے۔

دی ایف ایم ٹی پیکیج میں زیادہ تر فعالیت شامل ہے جو آپ کو سٹرنگ فارمیٹنگ کے لیے درکار ہوگی۔ Go بھی فراہم کرتا ہے a تار سٹرنگ ہیرا پھیری کے لیے پیکج اور a لاگ پیکیج جو لاگنگ کے لیے تاروں کو فارمیٹ کر سکتا ہے۔

دی ایف ایم ٹی پیکیج میں افعال ہیں جو لاگو کرتے ہیں۔ io.Writer اور io.Reader انٹرفیس آپ کو یہ بہت سے استعمال کے معاملات جیسے ویب بنانے اور کمانڈ لائن ایپلی کیشنز کے لیے مفید پائیں گے۔