1 گولانگ اوپریٹرز کا جائزہ
گولانگ زبان میں، اوپریٹرز کوڈ عملیات کو انجام دینے کے لئے استعمال ہوتے ہیں، جن میں حسابی عمل، تعلقاتی موازنے، منطقی عمل اور دیگر عملیات شامل ہیں۔ مختلف اوپریٹرز مختلف کاموں اور استعمال کی صورتوں سے منسلک ہوتے ہیں۔ ان اوپریٹرز کو سمجھنا اور ماہر ہونا، فعال پروگرامنگ کا بنیاد ہے۔
2 حسابی اوپریٹرز
گولانگ زبان میں درجہ بندی کی مخصوص حسابی اوپریٹرز فراہم ہیں:
- جمع (+): جمع عمل
- منفی (-): تفریق عمل
- ضرب (*): ضرب عمل
- تقسیم (/): تقسیم عمل
- باقی (%): ماڈیولو عمل
مثالیں:
package main
import "fmt"
func main() {
// جمع عمل
sum := 10 + 5
fmt.Println("10 + 5 =", sum) // مخرج 15 ہے
// تفریق عمل
diff := 10 - 5
fmt.Println("10 - 5 =", diff) // مخرج 5 ہے
// ضرب عمل
prod := 10 * 5
fmt.Println("10 * 5 =", prod) // مخرج 50 ہے
// تقسیم عمل
quot := 10 / 5
fmt.Println("10 / 5 =", quot) // مخرج 2 ہے
// ماڈیولو عمل
rem := 10 % 5
fmt.Println("10 % 5 =", rem) // مخرج 0 ہے
}
3 منطقی اوپریٹرز
گولانگ زبان میں منطقی اوپریٹرز بوئلین قیمتوں کو جوڑنے کے لئے استعمال ہوتے ہیں۔ اس میں تین قسم شامل ہیں: AND (&&)، OR (||)، اور NOT (!)۔
3.1 AND (&&)
جب تمام شرائط سچ ہوں تو "AND" عمل کا نتیجہ سچ ہوتا ہے۔
مثالیں:
package main
import "fmt"
func main() {
fmt.Println(true && true) // مخرج سچ ہے
fmt.Println(true && false) // مخرج جھوٹا ہے
fmt.Println(false && false) // مخرج جھوٹا ہے
// نتیجہ صحیح ہوتا ہے صرف جب دونوں شرائط سچ ہوں
}
3.2 OR (||)
اگر کم از کم ایک شرط سچ ہو، "OR" عمل کا نتیجہ سچ ہوتا ہے۔
مثالیں:
package main
import "fmt"
func main() {
fmt.Println(true || true) // مخرج سچ ہے
fmt.Println(true || false) // مخرج سچ ہے
fmt.Println(false || false) // مخرج جھوٹا ہے
// نتیجہ صحیح ہوتا ہے اگر کم از کم ایک شرط سچ ہو
}
3.3 NOT (!)
شرط کی بولین قیمت کو الٹ کرنے کے لئے استعمال ہوتا ہے۔
مثالیں:
package main
import "fmt"
func main() {
fmt.Println(!true) // مخرج جھوٹا ہے
fmt.Println(!false) // مخرج سچ ہے
// بولین قیمت کو الٹ کرتا ہے
}
4 تفاوتی اوپریٹرز
گولانگ زبان میں تفاوتی اوپریٹرز دو متغیرات یا قیمتوں کا موازنہ کرنے کے لئے استعمال ہوتے ہیں:
- برابر ہے (==)
- برابر نہیں ہے (!=)
- بڑا ہے (>)
- چھوٹا ہے (<)
- بڑا یا برابر ہے (>=)
- چھوٹا یا برابر ہے (<=)
موازنہ عمل کا نتیجہ بولین قیمت ہوتی ہے: true
یا false
۔
5 بٹ وائز اوپریٹرز
گولانگ میں، بٹ وائز اوپریٹرز ہمیں ڈیٹا کے بائیٹس کو براہ راست منظم کرنے کی اجازت دیتے ہیں:
- بٹ وائز AND (&)
- بٹ وائز OR (|)
- بٹ وائز XOR (^)
- بٹ وائز بائیں شفٹ (<<)
- بٹ وائز دائیں شفٹ (>>)
بٹ وائز اوپریٹرز کو عموماً کم سطح پروگرامنگ میں استعمال کیا جاتا ہے، جیسے کہ ہارڈویئر کی منظم کارروائیاں، تشفیشن، اور دیگر مواقع۔
6 اسائنمنٹ اوپریٹرز
اسائنمنٹ اوپریٹرز متغیرات کو قیمت دینے کے لئے استعمال ہوتے ہیں۔ گولانگ زبان میں اسائنمنٹ اوپریٹرز کے متعدد اشکال شامل ہیں:
- سادہ اسائنمنٹ (=)
- جمع اسائنمنٹ (+=)
- تفریق اسائنمنٹ (-=)
- ضرب اسائنمنٹ (*=)
- تقسیم اسائنمنٹ (/=)
- باقی اسائنمنٹ (%=)
یہ اوپریٹرز کوڈ کو مختصر بناتے ہیں۔ مثلاً، x += 1
کو x = x + 1
کے برابر ہوتا ہے۔
7 خاص اوپریٹرز
7.1 اضافہ (++) اور منفیز (--) اوپریٹرز
اضافہ اوپریٹر (++) اور منفیز اوپریٹر (--) کا استعمال متغیر کی قیمت میں 1 جمع یا منفی کرنے کے لئے ہوتا ہے۔ یہ گولانگ زبان میں وہ واحد اوپریٹرز ہیں جو صرف متغیر پر عمل کر سکتے ہیں (عبارت پر نہیں)۔
package main
import "fmt"
func main() {
x := 1
x++
fmt.Println("x++ =", x) // اوٹپٹ 2
y := 10
y--
fmt.Println("y-- =", y) // اوٹپٹ 9
}
Go زبان میں، x++
یا x--
کسی بھی ایک ایکسپریشن کا حصہ نہیں ہو سکتا۔ مثال کے طور پر، z := x++
کی اجازت نہیں ہے۔
7.2 ٹائپ کنورشن
Go زبان اسٹیٹکلی ٹائپ ہے، یعنی ایک بار جب ایک ویریابل دیا گیا ہے تو اس کی قسم کو تبدیل نہیں کیا جا سکتا۔ لہذا کبھی کبھار ایک قسم کے متغیر کو دوسری قسم میں تبدیل کرنا ضروری ہوتا ہے۔ Go میں خود بخودی طریقے سے ٹائپ کنورشن نہیں ہے؛ ظاہر ٹائپ کنورشن کی ضرورت ہوتی ہے۔
مثال:
package main
import (
"fmt"
)
func main() {
var i int = 42
fmt.Println(float64(i)) // int کو float64 میں تبدیل کریں
var f float64 = 3.14
fmt.Println(int(f)) // float64 کو int میں تبدیل کریں، دسمی حصہ نکال دیا جائے گا
}
ٹائپ کنورشن کرتے وقت، یہ ضروری ہے کہ یہ یقینی بنایں کہ تبدیلی کے دوران ڈیٹا محفوظ رہتا ہے، جیسے کے ایک فلوٹنگ پوائنٹ نمبر کو انٹیجر میں تبدیل کرتے وقت قیمت میں کمی کا خطرہ۔