Ruby වලින් Go භාෂාවට මාරු වෙලා බලන විට, පළමුම දැනගන්න ලැබෙන්නේ "type" ගැන Go එකේ ඇති දැඩි අවධානයයි. Ruby එකේ වරින් වර variable එකකට වෙනස් වර්ගයක් දාලත් වැඩේ යනවා, නමුත් Go එකේ variable එකක් එක වරක් වර්ගයක් තීරණය කරගත්තාම ඒ වර්ගය වෙනස් නොවේ.
Variable ප්රකාශ කිරීම – Go තුළ වර්ගය සඳහන් කරලා variable එක නිර්වචනය කිරීම අතිශය පැහැදිළි. උදාහරණයක්:
var age int = 30
var name string = "Alice"
var admin bool = true
මෙම ප්රකාශන සියල්ල compile‑time එකේ පරීක්ෂා වේ. ඔබ වෙනස් වර්ගයක් assign කරලා බලනවා නම්, compiler එක එය වහාම error එකක් දෙනවා.
Type Inference – Go සෑම විටම වර්ගය ලියන්න අවශ්ය නොවේ. එය ඔබේ value එකෙන්ම වර්ගය තේරුම් ගනී.
var admin = false // bool
var message = "Hello World" // string
Function තුළ short variable declaration (:=) භාවිතා කළොත් variable එක සහ වර්ගය එකවර නිර්වචනය වේ.
msg := "Hi"
cnt := 10
Multiple variables එකවර නිර්වචනය කරගන්නත් පහසුයි.
var x, y, z int = 12, 15, 10
var a, b, c = "hi", 30, true
වැඩි ගණනක variable එකක් සමූහයක් ලෙස නිර්වචනය කරන විට, block syntax භාවිතා කරයි.var (\n host string = "localhost"\n port int = 8080\n debug bool = true\n)
Constants – const keyword එකෙන් නිර්වචනය කරන අතර එකවරත් පසු වෙනස් කළ නොහැක. උදා: const MaxUsers = 100. Ruby වල constant එකක් වෙනස් කළාම warning එකක් පමණක් ලැබෙයි, Go එකේ එය error එකක්.
Zero Values – variable එකක් value එකක් නොදෙයි නම්, Go එකේ ඒ වර්ගයට අදාල default value එකක් (int 0, bool false, string "") ලබා දේ. මේ නිසා nil checks වලින් මුදල් වෙන්නෙ නැහැ.
Type Conversion – Go එකේ ස්වයංක්රීය type conversion නොමැත. ඔබට explicit cast එකක් භාවිතා කළ යුතුයි.
var i int = 45
var f float64 = float64(i)
var u uint = uint(f)
Ruby එකේ string → int, int → float වගේ conversion ගොඩක් ස්වයංක්රීයව සිදු වෙනවා, Go එකේ එය developer එකට පූර්ණවම පාලනය කරගැනීමට ඉඩ දෙයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
- ඉගෙනුම් වාසිය – තරුණ developers ලා Go භාෂාවේ type safety ගැන ඉගෙනගැනීමෙන් code bugs අඩු කරගත හැක.
- ව්යාපාරික ප්රතිලාභ – Go එකේ performance සහ concurrency ගුණාංග මත micro‑services, cloud applications ඉදිරිපත් කිරීමේදී වියදම සහ කාලය අඩු වේ.
- ඉදිරි තාක්ෂණික අවකාශ – Go භාෂාව AI, data processing, DevOps tools වැනි නව ක්ෂේත්ර වලටත් සූදානම් කරයි, එමඟින් Sri Lanka IT ecosystem එකේ නවත්වන තරඟශීලීත්වය වැඩි කරයි.
Go භාෂාව Ruby developers සඳහා නව අත්දැකීමක් වුවත්, එහි දැඩි type checking, constants, zero values සහ explicit conversion වැනි ගුණාංග ඔබේ coding habits ඉතාමත් ශක්තිමත් කරයි. මේ මූලික කරුණු දැනගත් පසු, ඔබට Go භාෂාවේ වැඩිදියුණු project එකක් හදන්න සූදානම්.