පටුන[සඟවන්න][පෙන්වන්න]
- 1. Golang විස්තර කරන්න.
- 2. වෙනත් භාෂාවලට වඩා Go හි ඇති වාසි මොනවාද?
- 3. Golang වැඩසටහන්කරණයේදී, fmt යනු කුමක්ද?
- 4. ඇත්තටම Go Interfaces යනු කුමක්ද?
- 5. ඇත්තටම තන්තු වචන මොනවාද?
- 6. Golang හි වැඩ කරන පරිසරයන් සහ පරාමිතීන් වින්යාස කර ඇත්තේ කෙසේද?
- 7. Golang පැකේජ විස්තර කරන්න?
- 8. Golang විසින් සහාය දක්වන දත්ත වර්ග මොනවාද?
- 9. Golang හි විචල්යයක ස්ථිතික ආකාරයේ ප්රකාශය යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්ද?
- 10. Golang හි, ගතික විචල්ය ප්රකාශය යනු කුමක්ද?
- 11. මම GO ක්රමලේඛන භාෂාවෙන් අභිරුචි පැකේජ භාවිතා කරන්නේ කෙසේද?
- 12. ඇත්තටම goroutine යනු කුමක්ද? ඔබට එය නතර කළ හැක්කේ කෙසේද?
- 13. රූනයක් විස්තර කරන්න.
- 14. enums නියෝජනය කිරීම සඳහා Go idiom යනු කුමක්ද?
- 15. විචල්යයක වර්ගය ධාවන වේලාවේදී පරීක්ෂා කරන්නේ කෙසේද?
- 16. Go නාලිකා විස්තර කරන්න.
- 17. Golang ක්රම පැහැදිලි කරන්න.
- 18. දත්ත තරඟයක් යනු කුමක්ද?
- 19. ඇත්තටම Go කුණු එකතු කිරීම යනු කුමක්ද?
- 20. Golang භාවිතයෙන් පරීක්ෂා කිරීමේ අදියර විස්තර කරන්න.
- 21. Go හි ඇති පෙති යනු කුමක්ද?
- 22. ඇත්තටම Heap memory යනු කුමක්ද?
- 23. ශ්රිත වසා දැමීම් යනු කුමක්ද?
- 24. ගොලාංගේ ගොටෝ ප්රකාශයෙන් අදහස් කරන්නේ කුමක්ද?
- 25. Golang හි, Lvalue සහ Rvalue යනු මොනවාද?
- 26. Go හි, looping constructs මොනවාද?
- 27. නිර්මාණ රටා යනු කුමක්ද?
- 28. සරල ගොනු මෙහෙයුම් සඳහා හොඳම Golang පැකේජය කුමක්ද? ගොනු හැසිරවීම සඳහා භාවිතා කරන අමතර Golang පැකේජ මොනවාද?
- 29. Golang's Object-Oriented Architecture ගැන පැහැදිලි කිරීමක් දෙන්න.
- 30. Golang සහාය දක්වන පරිවර්තන වර්ග මොනවාද?
- 31. වර්ගය තහවුරු කිරීමේ අරමුණ සහ ක්රියාකාරිත්වය විස්තර කරන්න.
- 32. හරියටම struct වර්ගයක් යනු කුමක්ද?
- 33. ස්ලයිස් අගයක පිටුබලය අරාව පැහැදිලි කරන්න.
- 34. GOPATH සහ GOROOT යන විචල්ය දෙකම තිබීම අවශ්යද, එසේ නම්, ඒ මන්ද?
- 35. Golang උරුමය සක්රීය කරයිද?
- 36. Golang හි, CGo දිස්වන්නේ කෙසේද?
- 37. Golang හි පොයින්ටර් වර්ගය කුමක්ද?
- නිගමනය
Go ක්රමලේඛන භාෂාව, බොහෝ විට හැඳින්වෙන්නේ ගොලන්ග්, C හා සැසඳිය හැකි විවෘත මූලාශ්ර ක්රමලේඛන භාෂාවක් වන නමුත් ඉක්මන් සම්පාදනය, සුමට සමගාමීත්වය සහ සංවර්ධක පහසුව සඳහා නිර්මාණය කර ඇත.
මෙම භාෂාව Google විසින් සංවර්ධනය කර භාවිතා කරන ලදී, නමුත් සමගාමී, ජාලගත ක්රමලේඛනය සඳහා ඇති ඉල්ලුම වර්ධනය වී ඇති බැවින් මෑත වසරවලදී එය අනෙකුත් සමාගම්වල ආකර්ෂණය ලබා ගෙන ඇත.
වේගවත් මෘදුකාංග යෙදුම් සංවර්ධනය, සුමට සමගාමීත්වය, වැඩිදියුණු කළ ධාවන කාල කාර්යක්ෂමතාව සහ අඩු දෝෂ සඳහා ප්රශස්ත සම්පාදනය ලබා දීමෙන් Golang විසින් සංවර්ධකයින් සඳහා සංවර්ධනය පහසු කරයි.
Golang ඉක්මනින් රැකියා විකල්ප කිහිපයක් සමඟින් ජනප්රිය ආයතනික ක්රමලේඛන භාෂාවක් බවට පත්වෙමින් තිබේ. Google, Uber සහ Apple වැනි බොහෝ IT behemoths Golang එහි කෙටි සංවර්ධන කාලය, ඉගෙනීමේ පහසුව, වැඩිදියුණු කළ ධාවන කාලය, කසළ එකතු කිරීම සහ වෙනත් ප්රතිලාභ සඳහා අගය කරති.
තවත් සමාගම් Golang භාවිතා කරන විට, Golang ක්රමලේඛකයන්ගේ අවශ්යතාවය වර්ධනය වේ. පහළම රේඛාව? Golang ඉගෙනීම රැකියා අපේක්ෂාවන් කිහිපයක් ලබා දෙනු ඇත.
ඔබට Golang සංවර්ධකයෙකු ලෙස වැඩ කිරීමට අවශ්ය නම්, ඔබ ඔබේ සම්මුඛ පරීක්ෂණය සඳහා ප්රමාණවත් ලෙස සූදානම් විය යුතුය. Golang සම්මුඛ පරීක්ෂණ ප්රශ්න වල මෙම විස්තීර්ණ එකතුව අපි සම්පාදනය කළේ එබැවිනි.
මෙම පෝස්ට් එකේ, අපි මූලික සිට උසස් Golang සම්මුඛ පරීක්ෂණ ප්රශ්න ඉදිරිපත් කරන්නෙමු, එවිට ඔබට පහසුවෙන් සම්මුඛ පරීක්ෂණය හරහා යා හැකිය.
1. Golang විස්තර කරන්න.
යන්න යනු ඉහළ මට්ටමේ, පොදු අරමුණකි ක්රමලේඛන භාෂාව එය කසළ එකතු කිරීමට සහ සමගාමී ක්රමලේඛනයට සහය වන අතර ඉතා තදින් හා ස්ථිතික ලෙස ටයිප් කර ඇත. Go යෙදුම් නිර්මාණය කරනු ලබන්නේ ඵලදායී පරායත්ත කළමනාකරණයක් සපයන පැකේජ භාවිතා කිරීමෙනි.
අතිරේකව, එය මූල කේතයෙන් ක්රියාත්මක කළ හැකි ද්විමය නිර්මාණය කිරීමට compile-link ප්රවේශයෙන් ප්රයෝජන ගනී. Go යනු ලස්සන සහ පැහැදිලි වාක්ය ව්යුහයන් සහිත සරල භාෂාවකි.
එය වෙනත් පැකේජ සඳහා අවශ්යතාවයකින් තොරව ගැටළු විසඳීමට සංවර්ධකයින්ට භාවිතා කළ හැකි ශක්තිමත් සම්මත පුස්තකාල කට්ටලයක් සමඟ පැමිණේ.
2. වෙනත් භාෂාවලට වඩා Go හි ඇති වාසි මොනවාද?
- බුද්ධිමය අත්හදා බැලීම් ලෙස ආරම්භ වූ අනෙකුත් භාෂාවලට වඩා වෙනස්ව Go code ප්රායෝගිකත්වය මනසේ තබාගෙන සංවර්ධනය කරන ලදී. සින්ටැක්ස් සහ විශේෂාංගයේ සෑම තේරීමක්ම ක්රමලේඛකයාගේ පහසුව මනසේ තබාගෙන සිදු කෙරේ.
- ස්වයංක්රීය කසළ එකතු කිරීම යෙදුමට සමගාමීව ක්රියාත්මක වන බැවින්, එය Java හෝ Python වලට වඩා බෙහෙවින් ඵලදායී වේ.
- Golang හි පරිමාණය සහ සමගාමී බව යන දෙකටම ප්රමුඛත්වය දෙනු ලැබේ.
- තනි, ප්රමිතිගත කේත ව්යුහයක් ඇති බැවින් Golang සාමාන්යයෙන් අනෙකුත් භාෂාවලට වඩා තේරුම් ගත හැකි යැයි සැලකේ.
3. Golang වැඩසටහන්කරණයේදී, fmt යනු කුමක්ද?
ආකෘති පැකේජය fmt සංකේතයෙන් දැක්වේ. පරිශීලකයින්ට මූලික පෙළ, අගයන් හෝ වෙනත් ඕනෑම දෙයක් ආකෘතිකරණය කිරීමට සහ එය මුද්රණය කිරීමට මෙම ක්රියාකාරීත්වය භාවිතා කළ හැක.
එය පරිශීලකයින්ට ටර්මිනල් ආදානය ලබා ගැනීමට, ලේඛකයෙකු සමඟ ගොනුවකට ලිවීමට සහ අවශ්ය විසිතුරු දෝෂ පණිවිඩ තැනීමට පවා ඉඩ සලසයි. මෙම පැකේජය ආදානය සහ ප්රතිදානය හැඩතල ගැන්වීම සඳහා වේ.
4. ඇත්තටම Go Interfaces යනු කුමක්ද?
Go හි අතුරුමුහුණත් වෙනත් භාෂාවලින් වෙනස් වේ. Go Interfaces යනු ක්රම අත්සන් එකක් හෝ කිහිපයක් එකතුවක් ප්රකාශ කිරීමට භාවිතා කරන විශේෂ වර්ගයකි.
අතුරුමුහුණත සෑදී ඇත්තේ "වර්ගය" යන යෙදුම භාවිතයෙන් පසුව නම සහ මූල පද අතුරුමුහුණත භාවිතා කිරීමෙනි. අතුරුමුහුණත් පහත පරිදි අර්ථ දැක්විය හැක:
- ක්රම එකතුවකි
- වර්ගය
5. ඇත්තටම තන්තු වචන මොනවාද?
string Literal යනු අකුරු සම්මිශ්රණය කිරීමෙන් නිපදවන තන්තු නියතයකි. අමු සහ අර්ථකථනය කරන ලද තන්තු වචන යනු තන්තු වචන වර්ග දෙකයි. අමු තන්තු වචන බැක්ටික් (foo) මගින් වට කර ඇති අතර අර්ථකථනය නොකළ UTF-8 අක්ෂර අඩංගු වේ.
අර්ථකථනය කරන ලද තන්තු වචන යනු ද්විත්ව උද්ධෘතයන් තුළ ලියා ඇති නූල් සහ නව රේඛාව සහ අසම්පූර්ණ ද්විත්ව උපුටා දැක්වීම් හැර ඕනෑම අක්ෂරයක් ඇතුළත් වේ.
6. Golang හි වැඩ කරන පරිසරයන් සහ පරාමිතීන් වින්යාස කර ඇත්තේ කෙසේද?
මේ දිනවල බහුලව භාවිතා වන JSON භාවිතයෙන් වැඩ පරිසරයන් සහ සැකසුම් වින්යාසගත කළ හැක. JSON සම්මත පුස්තකාලයට ඇතුළත් කර තිබීම එහි ප්රධාන වාසියයි.
සම්මත පුස්තකාලය අපේක්ෂිත දේ සඳහා ලිවීමේ ක්රම සපයයි දත්ත ව්යුහය, එය ඉතා කියවිය හැකි කරයි. Go සඳහා YAML පැකේජය අතිරේක තේරීමකි.
7. Golang පැකේජ විස්තර කරන්න?
පැකේජ යනු වෙනත් පැකේජ සහ ඒවායේ ප්රභව කේතය Go වැඩබිම තුළ තබා ඇති ෆෝල්ඩර වේ. සම්බන්ධිත පැකේජවල මූලාශ්ර ගොනුවල ලියා ඇති විචල්ය, ශ්රිත සහ වර්ග ඇතුළු සියලුම කේත ඇතුළත් වේ.
සෑම මූලාශ්ර ගොනුවක්ම පැකේජයක කොටසක් වන අතර Go පැකේජ පැකේජ තුළද ගබඩා කළ හැක.
8. Golang විසින් සහාය දක්වන දත්ත වර්ග මොනවාද?
Golang පහත සඳහන් වර්ග භාවිතා කරයි:
- ක්රමය
- බූලියන්
- ඉලක්කම්
- String
- පොයින්ටර්
- කාර්යයන්
- අතුරුමුහුණත
- පෙත්තක්
- ව්යුහය
- සිතියම
- නාලිකාව
- අරා
9. Golang හි විචල්යයක ස්ථිතික ආකාරයේ ප්රකාශය යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්ද?
ස්ථිතික ආකාරයේ විචල්ය ප්රකාශයන්ට ස්තූතිවන්ත වන පරිදි විචල්යයේ සවිස්තරාත්මක තොරතුරු අවශ්ය නොවී සම්පාදකයාට වෙනත් සම්පාදනයක් සමඟ ඉදිරියට යා හැකිය, එය ලබා දී ඇති වර්ගය සහ නම සමඟ ඇත්තේ එක් විචල්යයක් පමණක් බව සහතික කරයි.
විචල්ය ප්රකාශයක් වැදගත් වන්නේ සම්පාදනය කිරීමේදී පමණි; යෙදුමට සම්බන්ධ වන විට සම්පාදකයට සැබෑ විචල්යයක් සහ ප්රකාශයක් අවශ්ය වේ.
10. Golang හි, ගතික විචල්ය ප්රකාශය යනු කුමක්ද?
සම්පාදනය කරන්නා විසින් ගතික ආකාරයේ විචල්ය ප්රකාශයක ඇති විචල්ය වර්ගය එයට මාරු කරන ලද මුදල මත පදනම්ව පැහැදිලි කළ යුතුය. අවශ්ය කොන්දේසියක් ලෙස, සම්පාදකයට ස්ථිතික ලෙස වර්ගීකරණය කිරීමට විචල්යයක් අවශ්ය නොවේ.
11. මම GO ක්රමලේඛන භාෂාවෙන් අභිරුචි පැකේජ භාවිතා කරන්නේ කෙසේද?
ඔබ ඔබේ පුස්තකාලය සඳහා වෙනම go get -table ව්යාපෘතියක් නිර්මාණය කරන්නේ නම් සහ එය අභ්යන්තර භාවිතය සඳහා පමණක් නම්, ඔබට මෙවැනි කේතයක් ලිවිය හැක.
- පුස්තකාල ගොනු නාමාවලිය ඔබේ ව්යාපෘති නාමාවලිය යටතේ තබන්න.
- ව්යාපෘතිය අඩංගු වැඩබිමේ මූලයට සාපේක්ෂව පුස්තකාලය එහි මාර්ගයට යොමු කරන්න.
12. ඇත්තටම goroutine යනු කුමක්ද? ඔබට එය නතර කළ හැක්කේ කෙසේද?
goroutine යනු කැප වූ goroutine නූල් මත අනෙකුත් goroutines සමග සමගාමීව ක්රියාත්මක වන ශ්රිතයක් හෝ ක්රියා පටිපාටියකි. Goroutine නූල් සාමාන්ය නූල් වලට වඩා සැහැල්ලු වන අතර බොහෝ Golang යෙදුම් සමගාමීව goroutines දහස් ගණනක් භාවිතා කරයි.
සංඥා නාලිකාවක් පසුකර යාමෙන් ගොරෝටින් නැවැත්විය හැකිය. Goroutines හට සංඥා වලට ප්රතිචාර දැක්විය හැක්කේ ඔවුන් පරීක්ෂා කිරීමට යොමු කරන්නේ නම් පමණි, එබැවින් ඔබේ for loop හි මුදුන වැනි සාධාරණ ස්ථානවල චෙක්පත් ඇතුළත් කරන්න.
13. රූනයක් විස්තර කරන්න.
Go හි, Rune යනු int32 යන නම සහිත බිල්ට් වර්ගයකි. Unicode CodePoint Go හි Rune ලෙස ක්රියා කරයි. කේත ලක්ෂ්යය කොපමණ බයිට් ප්රමාණයක් ගත්තද, එය රූනයකින් නිරූපණය කළ හැක.
තන්තුවක පිළිවෙලට තැබීමට ධාවන අවශ්ය නොවේ. අපට string සහ Rune අතර පරිවර්තනය කළ හැකි වුවද, ඒවා සමාන නොවේ.
14. enums නියෝජනය කිරීම සඳහා Go idiom යනු කුමක්ද?
Golang ක්රමලේඛන භාෂාව සෘජුවම enums සඳහා සහය නොදක්වයි. enums ක්රියාත්මක කිරීම සඳහා Iota සහ නියතයන් භාවිතා කළ හැක. ගණන් කළ වර්ගයක් ක්රියාත්මක කිරීම සඳහා පහත සඳහන් ඕනෑම ප්රවේශයක් භාවිතා කළ හැක:
- නැවුම් පූර්ණ සංඛ්යා වර්ගයක් හඳුන්වා දීම
- එහි අගය දැක්වීමට අයෝටා භාවිතා කරයි.
- වර්ගයට String ශ්රිතයක් ලබා දීමෙන්
15. විචල්යයක වර්ගය ධාවන වේලාවේදී පරීක්ෂා කරන්නේ කෙසේද?
Type Switch යනු විචල්යයක වර්ගය තත්ය කාලීනව නිර්ණය කිරීමේ වඩාත් ඵලදායී ප්රවේශයයි. Type Switch භාවිතා කරන විට විචල්ය අගයට වඩා වර්ගය අනුව ඇගයීමට ලක් කෙරේ.
සිද්ධි කිසිවක් සත්ය නොවේ නම් ක්රියාත්මක වන පෙරනිමි නඩුවක් යන දෙකම සහ කොන්දේසි සහිත ප්රකාශයක් ලෙස ක්රියා කරන අවම වශයෙන් එක් අවස්ථාවක් සෑම ස්විචයකම පවතී. උදාහරණයක් ලෙස, ඔබට මා ඇතුලත් කරන අතුරුමුහුණත අගය int හෝ string වර්ගයද යන්න තීරණය කරන Type Switch එකක් සැලසුම් කළ හැක:
16. Go නාලිකා විස්තර කරන්න.
Go නාලිකාවක් goroutines අතර දත්ත සම්ප්රේෂණය සහ මාරු කිරීම සක්රීය කරයි. එකම වර්ගයේ දත්ත එක් නාලිකාවක් හරහා යැවිය හැක.
නාලිකාවේ ද්විපාර්ශ්වික දත්ත ප්රවාහය හේතුවෙන් එකම නාලිකාව හරහා දත්ත යැවීමට සහ ලබා ගැනීමට Goroutines හට හැකිය.
17. Golang ක්රම පැහැදිලි කරන්න.
Golang පන්ති සපයන්නේ නැත, නමුත් උපකාරක ක්රම සිදු කරයි. Go ක්රමවලට ග්රාහක පරාමිතියක් තිබීම හැර මෙම ක්රම ශ්රිතවලට සමාන වේ.
Go ක්රමයට ග්රාහක පරාමිතීන් හරහා ග්රාහකයාගේ ගුණාංග වෙත ප්රවේශය ඇත. Go ක්රම, ග්රාහක ශ්රිත ලෙසද හැඳින්වේ, වඩාත් නිවැරදි සහ සැබෑ ලෝක අදහසක් ඉදිරිපත් කිරීමට උපකාරී වේ.
18. දත්ත තරඟයක් යනු කුමක්ද?
වඩාත් සුලභ හා දුෂ්කර නිදොස්කරණය දත්ත තරඟයකි. බෙදාගත් මතකයට සමමුහුර්ත නොකළ ප්රවේශය හෝ වෙනම හැසිරවීමකින් තොරව එකවර goroutine කිහිපයක් ක්රියාත්මක කිරීම දත්ත ධාවන දෝෂයකට තුඩු දෙයි.
19. ඇත්තටම Go කුණු එකතු කිරීම යනු කුමක්ද?
කසළ එකතු කිරීම වෙනත් වස්තූන් විසින් භාවිතා කිරීම සඳහා වැඩසටහනකට ගතිකව පවරා ඇති ගබඩාව ප්රතිනිර්මාණය කරයි. විශේෂිත මතක කොටස් මුදා හැරීම සඳහා පැහැදිලි කේතය (ක්රමලේඛකයෙකු විසින් සපයනු ලැබේ) වෙනුවට සාමාන්ය ගබඩා කිරීම සඳහා අපද්රව්ය එකතු කරන්නාගේ ස්වයංක්රීය පුනර්ජනනය යන වචනය බොහෝ විට යොමු කරයි.
නිදහස් RAM ප්රමාණය පූර්ව නිශ්චිත සීමාවකට වඩා අඩු වූ විට හෝ නිශ්චිත ප්රතිපාදන ගණනකට පසුව ස්වයංක්රීය කුණු එකතු කිරීම නිතර ආරම්භ වේ.
වඩාත් ගතික වස්තූන් සඳහා මතකයේ ස්ථානයක් නිර්මාණය කිරීමට මෘදුකාංගයට තවදුරටත් අවශ්ය නොවන අයිතම ඉවත් කිරීම "කසළ එකතු කිරීම" ලෙස හැඳින්වේ.
20. Golang භාවිතයෙන් පරීක්ෂා කිරීමේ අදියර විස්තර කරන්න.
Golang අභිරුචි පරීක්ෂණ කට්ටල භාවිතයෙන් පැකේජ ස්වයංක්රීයව පරීක්ෂා කරයි. නව කට්ටලයක් පිහිටුවීමට, _test.go වලින් අවසන් වන සහ TestXxx ශ්රිතයක් ඇතුළත් ගොනුවක් සාදන්න, එහිදී Xxx ඔබ පරීක්ෂා කරන විශේෂාංගයේ නම සමඟ ප්රතිස්ථාපනය වේ.
පිවිසුම් හැකියාවන් පරීක්ෂා කරන කාර්යයක්, උදාහරණයක් ලෙස, TestLogin ලෙස නම් කරනු ලැබේ. පරීක්ෂණ කට්ටල ගොනුව පරීක්ෂා කෙරෙන ගොනුව හා සමාන පැකේජයට ඇතුළත් වේ.
සාමාන්ය ක්රියාත්මක කිරීමේදී පරීක්ෂණ ගොනුව මඟ හරිනු ඇති නමුත් ඔබ go test විධානය ඇතුළත් කළ විට ක්රියාත්මක වේ.
21. Go හි ඇති පෙති යනු කුමක්ද?
Slices යනු අරා වලට වඩා අනුක්රමික සඳහා වඩාත් බලවත් අතුරු මුහුණතක් සපයන වැදගත් Go දත්ත වර්ගයකි. පෙති, අරා මෙන් නොව, ඒවායේ අඩංගු මූලද්රව්ය මත පදනම්ව පමණක් ටයිප් කර ඇත (මූලද්රව්ය ගණන නොවේ).
ශුන්ය නොවන දිගකින් යුත් හිස් පෙත්තක් තැනීමට, ගොඩනඟන ලද “make” මූල පදය භාවිතා කරන්න.
22. ඇත්තටම Heap memory යනු කුමක්ද?
අපි ගතිකව සාදන ලද වස්තූන් සහ විචල්ය ගොඩ මතකයේ ගබඩා කරමු. අපි තවදුරටත් වස්තුවක් භාවිතා නොකරන විට, අපි සාමාන්යයෙන් එය අල්ලාගෙන සිටි ගොඩ මතකය මකා දමමු.
23. ශ්රිත වසා දැමීම් යනු කුමක්ද?
ශ්රිත වසා දැමීම් යනු බාහිරව යොමු කරන ලද විචල්යයන් සාදන ශ්රිත අගය වර්ගයකි. ශ්රිතයට යොමු විචල්යවල අගයන් වෙත ප්රවේශය සහ පාලනය ඇත.
නිදර්ශනයක් ලෙස, එකතු කරන්නෙකු () විසින් ආපසු ලබා දෙන වසා දැමීම එක් එක් වෙනස් යොමු කළ එකතු විචල්යයකට බැඳී ඇත.
24. ගොලාංගේ ගොටෝ ප්රකාශයෙන් අදහස් කරන්නේ කුමක්ද?
Goto ප්රකාශය Golang හි පැනීමේ ප්රකාශයක් ලෙස ක්රියා කරයි. Goto වැඩසටහන මත නිශ්චිත ලේබල පාලනයක් සැපයීමට භාවිතා කරයි.
එය කේතයේ කොටස් මඟ හැරීමට සහ අවශ්ය ප්රකාශ වෙත දකුණට යාමට භාවිතා කළ හැක, නැතහොත් යම්කිසි තත්වයක් ලබා දී ඇති වැඩසටහන් කේතයේ කොටසක් නැවත නැවත කිරීමට එය භාවිතා කළ හැක.
25. Golang හි, Lvalue සහ Rvalue යනු මොනවාද?
අගය:
- එය මතක ස්ථානයක් වෙත යොමු කරයි.
- එය වෙනස් කළ හැකිය.
- එය විචල්ය හඳුනාගැනීමක් දක්වයි.
- එය = ක්රියාකරුගේ වමට හෝ දකුණට සිදු විය හැක.
- x =20 පේළියේ, උදාහරණයක් ලෙස, x යනු l අගයක් වන අතර 20 යනු rvalue වේ.
අගය:
- එය ස්ථාවර අගයක් පෙන්නුම් කරයි.
- එය මතක ගබඩා කර ඇති දත්ත අගයක් නියෝජනය කරයි.
- එය සෑම විටම = ක්රියාකරුගේ දකුණු පැත්තේ සිදු වේ.
- 10 = 20 ප්රකාශනය වැරදියි, උදාහරණයක් ලෙස, = ක්රියාකරුට වම් පසින් rvalue (10) ඇති බැවින්.
26. Go හි, looping constructs මොනවාද?
Go හි ඇත්තේ එකම ලූපින් සංරචකයකි: for loop. for loop සෑදී ඇත්තේ අර්ධ කෝණ වලින් වෙන් කරන ලද කොටස් තුනකින් ය:
- ලූපය ආරම්භ වීමට පෙර Init ප්රකාශය ක්රියාත්මක වේ. එය බොහෝ විට for loop හි විෂය පථය තුළ පමණක් දිස්වන විචල්ය ප්රකාශනයකි.
- සෑම පුනරාවර්තනයකටම පෙර, ලූපය දිගටම පැවතිය යුතුද යන්න තීරණය කිරීම සඳහා කොන්දේසි ප්රකාශය Boolean ලෙස ඇගයීමට ලක් කෙරේ.
- පශ්චාත් ප්රකාශය එක් එක් පුනරාවර්තනය අවසානයේ ක්රියාත්මක වේ.
27. නිර්මාණ රටා යනු කුමක්ද?
නිර්මාණ රටා යනු පොදු මෘදුකාංග ගැටළු විසඳීමට නැවත භාවිතා කළ හැකි කේත කොටස් වේ. ඔබ සැලසුම් රටා භාවිතා කරන්නේ නම්, ඔබේ ව්යාපෘති වඩාත් මොඩියුලර්, පරිමාණය කළ හැකි සහ කාර්යක්ෂම මෘදුකාංග ජනනය කරයි. ඔබේ යෙදුම් පුළුල් කිරීමට සහ කණ්ඩායමක් සමඟ වැඩ කිරීමට සැලසුම් රටා ඔබට සහාය වේ. සාමාන්ය මෝස්තර රටා අතර කර්මාන්තශාලා ක්රමය, සිංගල්ටන්, ෆැසඩ් සහ සැරසිලි කරු ඇතුළත් වේ.
28. සරල ගොනු මෙහෙයුම් සඳහා හොඳම Golang පැකේජය කුමක්ද? ගොනු හැසිරවීම සඳහා භාවිතා කරන අමතර Golang පැකේජ මොනවාද?
වේදිකා-ස්වාධීන අතුරුමුහුණත os සම්මත පුස්තකාල පැකේජය මඟින් සපයනු ලැබේ. ගොනු සමඟ අන්තර්ක්රියා කරන විට, අපි ඒවා පද්ධති කාර්යයන් සඳහා භාවිතා කරමු. os අතුරුමුහුණත සියලු මෙහෙයුම් පද්ධති හරහා ස්ථාවර විය යුතුය.
එහි ප්රතිඵලයක් වශයෙන්, අප විසින් සංවර්ධනය කරන ලද යෙදුම් Windows, Linux සහ Mac මත එකම ආකාරයෙන් ක්රියාත්මක වේ. අනෙකුත් Go සම්මත පුස්තකාල පැකේජවලට io, ioutil සහ bufio ඇතුළත් වේ. ඒවා ගොනු සමඟ ක්රියාත්මක වන අතර ක්රියාකාරීත්වය එක් කරයි. කෙසේ වෙතත්, ඒවා මූලික ගොනු මෙහෙයුම් සඳහා අවශ්ය නොවේ. අපට අවශ්ය වන්නේ os පැකේජය පමණි.
29. Golang's Object-Oriented Architecture ගැන පැහැදිලි කිරීමක් දෙන්න.
Golang සාම්ප්රදායික ලෙස පන්ති වස්තු නිර්මාණයක් භාවිතා නොකරයි වස්තු-නැඹුරු වැඩසටහන්කරණය කරයි. සංකීර්ණ දත්ත ව්යුහයන් සහ හැසිරීම් වෙනුවට ව්යුහයන් සහ ක්රම තුළ ගබඩා කර ඇත.
ව්යුහයක් යනු ව්යුහයක් රැගෙන යන දත්ත සඳහා සැලැස්මක් සහිත සැලැස්මක් පමණි. ව්යුහයන් පොත්, මිනිසුන් හෝ මෝටර් රථ වැනි සැබෑ ලෝකයේ අදහස් සංකේතවත් කිරීමට භාවිතා කළ හැක.
30. Golang සහාය දක්වන පරිවර්තන වර්ග මොනවාද?
පැහැදිලි ටයිප් කිරීම සම්බන්ධයෙන් ගත් කල, Go ඉතා අච්චාරුවකි. කිසිදු ආකාරයක පරිවර්තනයක් ස්වයංක්රීයව සිදු නොවේ. එක් වර්ගයක විචල්යයක් තවත් වර්ගයකට නම් කිරීම සඳහා, වර්ගය පරිවර්තනය පැහැදිලිව සිදු කළ යුතුය.
31. වර්ගය තහවුරු කිරීමේ අරමුණ සහ ක්රියාකාරිත්වය විස්තර කරන්න.
GO හි, අසමාන වර්ග පරිවර්තනය කිරීම සඳහා වර්ග පරිවර්තනය භාවිතා කරයි. නිශ්චිත වර්ගයේ පැහැදිලි අගයක් අතුරුමුහුණත් අගයකින් වර්ග ප්රකාශයක් මගින් උපුටා ගනු ලැබේ.
32. හරියටම struct වර්ගයක් යනු කුමක්ද?
ව්යුහයක් ක්ෂේත්ර ලෙස හැඳින්වෙන නම් කරන ලද සංරචක ලැයිස්තුවකින් සමන්විත වේ. සෑම ක්ෂේත්රයක් සඳහාම වර්ගයක් සහ නමක් ඇත. ව්යුහයක් පිළිසිඳ ගැනීමට තවත් ක්රමයක් නම් සම්බන්ධිත ගුණාංග සමූහයකි. වාර්තා නිර්මාණය කිරීම සඳහා දත්ත ඒකාබද්ධ කිරීම සඳහා ඒවා උපකාරී වේ.
33. ස්ලයිස් අගයක පිටුබලය අරාව පැහැදිලි කරන්න.
අපි පෙත්තක් ගොඩනඟන විට, Go විසින් තිරය පිටුපස පිටුබලය හෝ යටින් පවතින අරාව නමින් රහස් අරාවක් නිපදවන අතර නව පෙති වර්ගය විචල්ය යොමු කරයි. අයිතම, පෙත්ත නොව, පිටුබලය අරාව තුළ ගබඩා කර ඇත.
පෙත්තෙහි ධාවන කාල නිරූපණය ලෙස ක්රියා කරන ස්ලයිස් හෙඩර් ලෙස හඳුන්වන දත්ත ව්යුහයන් ලෙස Go හි පෙති ක්රියාත්මක වේ.
34. GOPATH සහ GOROOT යන විචල්ය දෙකම තිබීම අවශ්යද, එසේ නම්, ඒ මන්ද?
සාමාන්යයෙන්, දෙකම අවශ්ය නොවේ. Go පැකේජ ගස හෝ ගස් වෙත යොමු කිරීමට සැකසිය යුතු එකම විචල්යය GOPATH වේ.
GOROOT යන්නෙන් අදහස් කරන්නේ Go ක්රමලේඛන භාෂාව සඳහා වන මුල් නාමාවලියයි, කෙසේ වෙතත්, එය දැනට පවතින Go ස්ථාපන ස්ථානයට දැනටමත් පාහේ සකසා ඇත.
එකම පද්ධතියක Go භාෂා අනුවාද ගණනාවක් තිබේ නම්, හෝ Go භාෂාව අන්තර්ජාලයෙන් ද්විමය පැකේජයක් ලෙස බාගත කර ඇත්නම් හෝ වෙනත් යන්ත්රයකින් ගෙන ගියේ නම්, GOROOT විචල්යය සැකසිය යුතුය.
35. Golang උරුමය සක්රීය කරයිද?
උරුමය යනු වස්තු-නැඹුරු ක්රමලේඛනයේ මූලික සංකල්පයක් වන අතර එය සුපිරි පන්තියේ ගුණාංග පාදක පන්තියට ලබා දීම අදහස් කරයි.
Golang හට පන්ති නොමැති බැවින්, උරුමය struct embedding භාවිතයෙන් සිදු වන අතර, structs සෘජුවම පුළුල් කළ නොහැකි බැවින්, අපි struct සමඟ නව වස්තූන් නිර්මාණය කිරීමට සංයුතිය පිළිබඳ අදහස භාවිතා කළ යුතුය.
36. Golang හි, CGo දිස්වන්නේ කෙසේද?
නිර්වචනය කරන ලද විශේෂාංග සහිත Go මූලාශ්ර ගොනුවකින්, cGo විසින් අද්විතීය Go පැකේජයකට ඒකාබද්ධ කළ හැකි Go සහ C ගොනු නිර්මාණය කරයි. C යනු "ව්යාජ පැකේජයක්" වෙත යොමු කරයි, එය C හි නාම අවකාශය වෙත යොමු කිරීම සඳහා cGo විසින් ජනනය කරන ලද වෙනස් වාක්ය ඛණ්ඩයකි.
37. Golang හි පොයින්ටර් වර්ගය කුමක්ද?
ඇතැම් මතක කලාප සඳහා අක්ෂරාංක තනතුරු හෝ ලේබල් විචල්යයන් ලෙස හැඳින්වේ. Pointer ලෙස හඳුන්වන විචල්ය වර්ගයක් වෙනත් විචල්යයක මතක ලිපිනය ගබඩා කරයි.
විචල්යයක ලිපිනය දර්ශක අගයකින් නිරූපණය කෙරේ, නැතහොත් විචල්යය තවමත් ස්ථාපිත කර නොමැති නම් nil වේ. විචල්යයක් අගයක මතක පිහිටීම නිරූපනය කරනවා සේම, දර්ශකයක් එම ලිපිනයට යොමු කරයි.
නිගමනය
Golang ක්රමලේඛන භාෂාවේ අරමුණ වූයේ ඵලදායී වැඩසටහන් වඩාත් ඉක්මනින් නිර්මාණය කිරීමයි. සමාගම් එහි වාසිදායක හැකියාවන් අවබෝධ කර ගැනීමට පටන් ගත් විට Golang භාවිතා කිරීමට පටන් ගත්තේය.
Golang සංවර්ධකයින්ගේ උනන්දුව අවුලුවාලීමට, ඔවුන්ගේ මූලික භාවිතය වැඩි කිරීමට සහ, ඒ අනුව, රැකියා අවස්ථා සඳහා අතිශයින් ඵලදායී වී ඇත. Golang සම්මුඛ පරීක්ෂණ වලදී වඩාත් සුලභ ලෙස අසනු ලබන ඉහත සඳහන් කළ ප්රශ්නවලට පිළිතුරු, ඔබ පසුපස යන Golang රැකියාව ගොඩබෑමට ඔබට උපකාර කළ හැක.
බලන්න Hashdork ගේ සම්මුඛ පරීක්ෂණ මාලාව සම්මුඛ පරීක්ෂණයට සූදානම් වීම සඳහා උපකාර සඳහා.
ඔබමයි