মডিউল পাঠ (1/5)
ভেরিয়েবল এবং প্রকার
গো-তে প্রতিটি ভেরিয়েবলের একটি স্ট্যাটিক টাইপ আছে যা কম্পাইলারের কাছে পরিচিত: একবার ঘোষিত, একটি পরিবর্তনশীল প্রকার পরিবর্তন করতে পারে না। এই দৃঢ়তা - খুব ভিন্ন জাভাস্ক্রিপ্ট বা পাইথন থেকে — কম্পাইল-টাইম পেতে আপনি যে মূল্য প্রদান করেন রানটাইম, ছোট বাইনারি এবং অনুমানযোগ্য এর পরিবর্তে ত্রুটি কর্মক্ষমতা
ঘোষণার দুটি রূপ
var সুস্পষ্ট প্রকার সহ
var name string = "Ada"
var age int = 36
var active boolযখন আপনি মান বাদ দেন (যেমন var active bool) ভেরিয়েবলটি পায়
শূন্য মান এর প্রকার — আমরা পরবর্তী পাঠে এটিতে ফিরে আসব।
সংক্ষিপ্ত ঘোষণা :=
একটি ফাংশনের ভিতরে আপনি := ব্যবহার করতে পারেন, যা থেকে টাইপ অনুমান করে
ডানদিকে অভিব্যক্তি। এটি হল মূর্তিপূর্ণ ফর্ম এবং আপনি যেটি ব্যবহার করবেন
সময়ের 90%:
name := "Ada" // string
age := 36 // int
pi := 3.14 // float64
active := true // boolমৌলিক ধরনের আপনি সরাসরি দেখা হবে
| প্রকার | উদাহরণ | নোট |
|---|---|---|
int | 42 | আকার CPU (32 বা 64 বিট) এর উপর নির্ভর করে |
float64 | 3.14 | দশমিক আক্ষরিক জন্য ডিফল্ট |
string | "Ada" | UTF-8, অপরিবর্তনীয় |
bool | true, false | কোন "সত্য", শুধুমাত্র বিশুদ্ধ বুল |
rune | 'A' | int32 এর উপনাম, একটি ইউনিকোড কোড পয়েন্ট |
byte | 0x7F | uint8 এর উপনাম |
এছাড়াও রয়েছে int8/16/32/64, uint8/16/32/64, float32 এবং complex64/128
যখন আপনার সুনির্দিষ্ট আকারের প্রয়োজন হয় (বাইনারী পার্সিং, ইন্টারপ, ইত্যাদি)।
একাধিক ঘোষণা
আপনি একটি var-ব্লক বা একটি বহুবচন := দিয়ে বেশ কয়েকটি ভেরিয়েবল ঘোষণা করতে পারেন:
var (
name string = "Ada"
age int = 36
active bool
)
x, y := 10, 20
a, b, c := "a", 2, true // different types: no problemভেরিয়েবল ঘোষিত কিন্তু ব্যবহার করা হয় না
গো কঠোর: একটি পরিবর্তনশীল ঘোষিত এবং কখনই ব্যবহৃত হয় না একটি সংকলন
ত্রুটি, সতর্কতা নয়। একই অব্যবহৃত imports এর ক্ষেত্রে প্রযোজ্য।
func main() {
x := 42
// error: x declared and not used
}নিয়মটি অস্থায়ীভাবে নীরব করতে আপনি _ (খালি শনাক্তকারী) ব্যবহার করেন:
_ = xতোমার পালা
'Ada' মান সহ স্ট্রিংয়ের একটি পরিবর্তনশীল নাম ঘোষণা করতে var ব্যবহার করুন এবং এটি মুদ্রণ করুন।
ইঙ্গিত দেখান
দীর্ঘ ফর্ম হল `var <name> <type> = <value>`।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
একটি লাইনে, বয়সের জন্য 36 এবং শহরের জন্য 'Roma' নির্ধারণ করতে := ব্যবহার করুন, তারপর উভয়ই প্রিন্ট করুন।
ইঙ্গিত দেখান
আপনি একসাথে একাধিক ভেরিয়েবল বরাদ্দ করতে পারেন: `a, b := 1, "Due"`।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
এই ঘোষণাগুলির মধ্যে কোনটি একটি সংকলন ত্রুটি তৈরি করে যদি একটি ফাংশনের বাইরে রাখা হয়?
// (a)
var name string = "Ada"
// (b)
age := 36
// (c)
const PI = 3.14রিক্যাপ
- স্ট্যাটিক টাইপ, স্বয়ংক্রিয়ভাবে
:=দ্বারা অনুমান করা হয়েছে বাvarদিয়ে ঘোষণা করা হয়েছে। :=শুধুমাত্র ভিতরে ফাংশন; প্যাকেজ স্তরে শুধুমাত্রvar/const।- অব্যবহৃত ভেরিয়েবল এবং আমদানি = সংকলন ত্রুটি: তাদের নীরব করতে
_ব্যবহার করুন। int/float64/string/boolদৈনন্দিন ক্ষেত্রে 90% কভার করে।