smcproject/ml-wiki-sentences huggingface dataset:
ടെലിസ്കോപ്പുകൾ രണ്ട് തരമുണ്ട് 1 അപവർത്തന ടെലിസ്കോപ്പ് ഫ്രാൻസിലെ നൈസ് എന്ന് സ്ഥലത്തെ 50 സെന്റിമീറ്റർ അപവർത്തന ടെലിസ്കോപ്പ് ടെലിസ്കോപ്പിന്റെ പ്രവർത്തനം
ലെൻസുകൾ മാത്രം ഉപയോഗിച്ചുണ്ടാക്കുന്ന ടെലിസ്കോപ്പുകളാണ് ഇവ.
ഹാൻസ് ലിപ്പർഷെ എന്ന്   ഡച്ച് കണ്ണട നിർമ്മാതാവാണ് (1608 ൽ)  ഇവ നിർമ്മിച്ചത് 
ഇത്തരം ടെലിസ്കോപ്പ്കൾക്ക് ചില ന്യൂനതകൾ ഉണ്ട്
വർണ്ണ വിപഥനം 2.
പ്രതിഫലന ടെലിസ്കോപ്പ്
ഒബ്ജെക്ടീവ് ലെൻസുകൾക്ക് പകരം അവതല ദർപ്പണം ഉപയോഗിച്ചും ടെലിസ്കോപ്പുകൾ ഉണ്ടാക്കാം ഇവക്ക് വർണ്ണ വിപഥനം ഉണ്ടാകുന്നില്ല മാത്രമല്ല അവതല ദർപ്പണത്തിനു പകരം പരാബോളിക് ദർപ്പണം ഉപയോഗിച്ചാൽ ഗോളീയ വിപഥനം ഒഴിവാക്കുകയുമാവാം .
ഇത് രൂപപെടുത്തിയത് സർ ഐസക് ന്യൂട്ടൺ ആണ് അതിനാൽ ഇത്തരം ടെലിസ്കോപ്പുകളെ ന്യൂട്ടോണിയൻ ടെലിസ്കൊപ്പുകൾ എന്നും വിളിക്കുന്നു.
ന്യൂട്ടോണിയൻ ടെലിസ്കൊപ്പുകൾ ചെലവ് കുറഞ്ഞവയും ഉപയോഗിക്കാൻ വളരെ എളുപ്പവുമാണ് പ്രതിഫലന ടെലിസ്കോപ്പിന്റെ പ്രവർത്തനം
പ്രതിഫലന ടെലിസ്കോപ്പുകളുടെ വകഭേദങ്ങളണ്
ഡോബ്സോണിയൻ ടെലിസ്കോപ്പ്  (Dobsonyan Telescope)
കാസ്സെഗ്രൈൻ ടെലിസ്കോപ്പ്    (Cassegrain Telescope) കാസ്സെഗ്രൈൻ ടെലിസ്കോപ്പ്
ഗ്രിഗോറിയൻ ടെലിസ്കോപ്പ് ഗ്രിഗോറിയൻ ടെലിസ്കോപ്പ്
ഹെർഷെൽ  ടെലിസ്കോപ്പ്      (Herschel Telescope) ഹെർഷെൽ  ടെലിസ്കോപ്പ് .
എന്നിവ ടെലിസ്കോപ്പിന്റെ പവർ
ദൂരദർശ്ശനികളുടെ ശക്തി അളക്കുന്നത് അവ വസ്തുവിനെ എത്ര മടങ്ങ് വലിപ്പമുള്ള പ്രതിബിംബമാണ് ഉണ്ടാക്കുന്നത് എന്നതിനെ അടിസ്ഥാനമാക്കിയാണ് .
10 മടങ്ങ് വലിപ്പത്തിൽ പ്രതിബിംബം കാണിക്കുന്നുവെങ്കിൽ 10X  .
ഒബ്ജെക്ടീവ് ലെൻസിന്റെ ഫോക്കസ്സ് ദൂരത്തിനെ ഐപ്പീസിന്റെ ഫോക്കസ്സ് ദൂരം കൊണ്ട് ഹരിച്ചാൽ ദൂരദർശ്ശനികളുടെ ശക്തി കണക്കാക്കാം
റേഡിയോ ടെലസ്കോപ്പ് എക്സ് റേ - ഗാമാ റേ ടെലസ്കോപ്പ് ഇതും കാണുക ബിനോക്യുലർ സൂക്ഷ്മദർശിനി ഹബിൾ ബഹിരാകാശ ദൂരദർശിനി അവലംബം
Wikimedia Commons has media related to Telescope .
ഗുവാങ്ക്സി ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Guangxi
ചൈനയിലെ ഒരു സ്വയംഭരണ പ്രവിശ്യയാണ് ഗുവാങ്ക്സി ( ചൈനീസ് : 广西 ; പിൻയിൻ : Guăngxī ; Wade–Giles : Kuang-hsi ; pronounced [kwa ̀ ŋɕi ́ ] ).
ഔദ്യോഗിക നാമം ഗുവാങ്ക്സി ഷുവാങ് ഓട്ടോണമസ് റീജിയൺ ( ജി.ഇസെഡ്.എ.ആർ. ) എന്നാണ്.
‌തെക്കൻ ചൈനയിൽ വിയറ്റ്നാമുമായുള്ള അതിർത്തിയോടു ചേർന്നു കിടക്കുന്ന പ്രവിശ്യയാണിത്.
പണ്ട് സാധാരണ പ്രവിശ്യയായിരുന്ന ഗുവാങ്ക്സിയ്ക്ക് സ്വയംഭരണാവകാശം ലഭിച്ചത് 1958-ലാണ്.
ചൈനയുടെ തെക്കേ അറ്റത്തുള്ള സ്ഥാനവും മലകളുള്ള ഭൂപ്രകൃതിയും ചൈനയുടെ ചരിത്രത്തിന്റെ സിംഹഭാഗവും ഈ പ്രദേശം അതിർത്തിയായി നിലനിൽക്കാൻ കാരണമായി.
"ഗുവാങ്ക്" എന്ന പേരിനർത്ഥം "വിശാലമായ ഭൂവിഭാഗം" എന്നാണ്.
ഈ സ്ഥലത്തിന് യുവാൻ രാജവംശക്കാലത്ത് പ്രവിശ്യാസ്ഥാനം ലഭിച്ചിരുന്നുവെങ്കിലും ഇരുപതാം നൂറ്റാണ്ടിൽ പോലും ഇവിടം തുറസ്സായതും വന്യവുമായ പ്രദേശമായാണ് കരുതപ്പെട്ടിരുന്നത്.
"桂" (പിൻയിൻ: ഗുയി ; ഷുവാങ്: ഗ്വൈ ) എന്നാണ് ഈ പ്രവിശ്യയുടെ ചുരുക്കപ്പേര്.
ഗ്വൈലിൻ എന്ന പഴയ തലസ്ഥാനത്തിൽ നിന്നാണ് ഈ പേരു ലഭിച്ചിട്ടുള്ളത്.
ഗുവാങ്ക്സിയുടെ സംസ്കാരം, രാഷ്ട്രീയം ചരിത്രം എന്നിവയുടെയൊക്കെ കേന്ദ്രബിന്ദുവാണ് ഈ പ്രദേശം.
ഇപ്പോൾ ഇത് പ്രവിശ്യയിലെ ഒരു പ്രധാന നഗരം കൂടിയാണ്.
അവലംബം Economic profile for Guangxi at HKTDC പുറത്തേയ്ക്കുള്ള കണ്ണികൾ Wikimedia Commons has media related to Guangxi .
Guangxi Government website Archived 2007-03-25 at the Wayback Machine .
Where is Guangxi Archived 2013-06-30 at the Wayback Machine .
ഗുർലി ലിൻഡർ ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Gurli_Linder ഗുർലി ലിൻഡർ
ആനെ ഗുർലി ലിൻഡർ (മുമ്പ് പീറ്റേഴ്‌സൺ; 1865-1947) ഒരു സ്വീഡിഷ് സാഹിത്യകാരിയും ഫെമിനിസ്റ്റുമായിരുന്നു.
19-ാം നൂറ്റാണ്ടിന്റെ അവസാനത്തിൽ സ്റ്റോക്ക്‌ഹോമിലെ സാമൂഹിക ജീവിതത്തിൽ സജീവമായിരുന്ന അവർ സംസ്‌കാരത്തിൽ കൂടുതൽ നേരിട്ട് ഇടപെടാൻ സ്ത്രീകളെ പ്രോത്സാഹിപ്പിച്ചു.
ഗ്രന്ഥശാലകളുടെയും വായനയുടെയും ശക്തമായ പിന്തുണക്കാരിയായ അവർ പിന്നീട് ബാലസാഹിത്യത്തിന്റെ പ്രോത്സാഹനത്തിനും വികാസത്തിനും തുടക്കമിടുന്നതിൽ സുപ്രധാന പങ്ക് വഹിച്ചു.
ഒറെബ്രോ മുനിസിപ്പാലിറ്റിയിലെ ടൈസ്ലിംഗിൽ 1865 ഒക്ടോബർ 1 ന് ജനിച്ച ആനെ ഗുർലി പീറ്റേഴ്സൺ ഭൂവുടമയായിരുന്ന കാൾ ഗുസ്താഫ് പീറ്റേഴ്സണിന്റെയും അദ്ദേഹത്തിൻറ പത്നി മേരി ക്രിസ്റ്റീൻ കാവ്ലിയുടെയും മകളായിരുന്നു.
1879-ൽ അവൾ കുടുംബത്തോടൊപ്പം സ്റ്റോക്ക്ഹോമിലേക്ക് താമസം മാറി.
അവൾക്ക് 10 വയസ്സുള്ളപ്പോൾ പിതാവിന്റെ മരണത്തെത്തുടർന്ന്, അവൾ ഹാമർസ്റ്റഡ് സ്കൂളിൽ ഒരു മുഴുവൻ സമയ ബോർഡിംഗ് സ്കൂൾ വിദ്യാർത്ഥിനി ആയിത്തീർന്നു.
തുടർന്ന് അവർ ഹോഗ്രെ ലാറാറിന്നെസെമിനേരിയറ്റ് ടീച്ചർ ട്രെയിനിംഗ് കോളേജിൽ ചേരുകയും അവിടെനിന്ന് 1885-ൽ ടീച്ചിംഗ് ഡിപ്ലോമ നേടുകയും ചെയ്തു.
അക്കാലത്ത് സ്ത്രീകൾക്ക് പഠിക്കാൻ അധികം അവസരങ്ങൾ ഇല്ലാതിരുന്നതിനാൽ പരിശീലന കോളേജ് വനിതാ ബുദ്ധിജീവികളുടെ ഒരു കേന്ദ്രമായി മാറി.
സ്വീഡിഷ് വനിതാ പ്രസ്ഥാനത്തിൽ പീറ്റേഴ്സൺ ആദ്യമായി ഇടപെടുന്നത് അവിടെ വച്ചായിരിക്കാം.
കോളേജിലെ സഹയാത്രികരിലൊരാളായിരുന്ന നൊബേൽ സമ്മാന ജേതാവായിരുന്ന സെൽമ ലാഗർലോഫുമായി അവർ ആജീവനാന്ത സൌഹാർദ്ദം നിലനിറുത്തി.
രണ്ട് വർഷം സ്കൂൾ അധ്യാപികയായി ജോലി ചെയ്ത ശേഷം, 1887 ജൂണിൽ ഗുർലി പീറ്റേഴ്സൺ ടീച്ചർ ട്രെയിനിംഗ് കോളേജിൽ അവളുടെ സ്വീഡിഷ് അദ്ധ്യാപകനായിരുന്ന നോർവീജിയൻ ഭാഷാശാസ്ത്രജ്ഞൻ നിൽസ് ലിൻഡറിനെ (1835-1904) വിവാഹം കഴിച്ചു.
അവലംബം ↑ {{ cite web }} :  CS1 maint: unrecognized language ( link ) ↑ {{ cite web }} :  CS1 maint: unrecognized language ( link ) ↑ {{ cite web }} :  CS1 maint: unrecognized language ( link )
ഗോ (പ്രോഗ്രാമിങ് ഭാഷ) ഇംഗ്ലീഷ് വിലാസം https://ml.wikipedia.org/wiki/Go_(programming_language)
ഗൂഗിൾ എഞ്ചിനീയർമാരായ റോബർട്ട് ഗിരീസർ, റോബ് പൈക്ക്, കെൻ തോംപ്സൺ എന്നിവർ രൂപകൽപ്പന ചെയ്ത ഒരു പ്രോഗ്രാമിംഗ് ഭാഷ യാണ് ഗോ (ഗോലാംഗ് എന്നും അറിയപ്പെടുന്നു).
ഗോ എന്നത് സ്റ്റാറ്റിക് ടൈപ്പായതും, കംപൈൽ ചെയ്യാവുന്നതും, വാക്യഘടനപരമായി സി പോലെതന്നെയുള്ളതാണ്, മെമ്മറി സുരക്ഷ, ഗാർബേജ് ശേഖരണം, ഘടനാപരമായ ടൈപ്പിങ്, സിഎസ്പി(CSP)- ശൈലി കൺകറൻസി തുടങ്ങിയവയുടെ പ്രയോജനങ്ങൾ ലഭിക്കുന്നു.
കംപൈലർ , ടൂൾസ്, സോഴ്സ് കോഡ് എന്നിവ സ്വതന്ത്രവും , തുറന്ന ഉറവിടവുമാണ് .
മൾട്ടീകോർ പ്രൊസസ്സർ, കമ്പ്യൂട്ടർ ശൃംഖലകൾ , വലിയ കോഡ്ബേസുകൾ എന്നിവയുള്ള ഈ കാലഘട്ടത്തിൽ, ഗൂഗിളിന് പ്രോഗ്രാമിങ് ഉൽപാദനക്ഷമത മെച്ചപ്പെടുത്താൻ വേണ്ടി 2007 ൽ ആരംഭിച്ചു.
ഉപയോഗപ്രദമായ നിരവധി സവിശേഷതകളെ നിലനിർത്തുമ്പോൾ തന്നെ ഇതിന്റെ ഡിസൈനർമാർ മറ്റു ഭാഷകളുടെ പൊതുവായ വിമർശനങ്ങൾ പരിഹരിക്കാൻ ആഗ്രഹിച്ചു: സ്റ്റാറ്റിക് ടൈപ്പിംഗും കാര്യക്ഷമതയും ( സി++ അല്ലെങ്കിൽ ജാവ പോലുള്ള) ഉത്പാദനക്ഷമതയും എളുപ്പത്തിലുള്ള ഉപയോഗവും ( പൈത്തൺ അല്ലെങ്കിൽ ജാവാസ്ക്രിപ്റ്റ് പോലെ) ഹൈ പെർഫോമൻസ് നെറ്റ്വർക്കിങ്, മൾട്ടിപ്രോസിസിങ് തുടങ്ങിയവ
ഡിസൈനർമാർക്ക് സി++ നോടുള്ള അനിഷ്ടം ഒരു പുതിയ ഭാഷ രൂപപ്പെടുത്തുന്നതിനുള്ള ഒരു പ്രധാന പ്രചോദനമായി.
ഗോ പ്രോഗ്രാമിംഗ് ഭാഷ നവംബർ 2009 ൽ പരസ്യമായി പ്രഖ്യാപിച്ചു, 2012 മാർച്ചിൽ പതിപ്പ് 1.0 പുറത്തിറങ്ങി.2012 മാർച്ചിൽ പതിപ്പ് 1.0 പുറത്തിറങ്ങി.
ഗൂഗിളിൽ ഉത്പാദനത്തിനായി വ്യാപകമായി ഉപയോഗിക്കുന്നു മറ്റു പല സംഘടനകളിലും ഓപ്പൺ സോഴ്സ് പ്രോജക്ടുകളിലും ഇത് ഉപയോഗിക്കുന്നുണ്ട്.
2018 ഏപ്രിലിൽ, യഥാർത്ഥ ലോഗോ (ഗോഫർ മസ്ക്കറ്റ്) മാറ്റി സ്ഥാപിക്കപ്പെട്ടു, മനോഹരമായ ഗോ സ്ലാന്റിംഗോട്(GO slanting)കൂടിയ വലതുവശത്തെ ട്രെയിലിംഗ് സ്ട്രീംലൈൻ.
എന്നിരുന്നാലും, ചിഹ്നം സമാനമായി നിലനിന്നു.
2018 ആഗസ്റ്റിൽ ഗോയുടെ പ്രധാന സംഭാവനക്കാർക്ക് പുതിയ ഭാഷാ ഫീച്ചറുകൾ, ജനറിക്സ്, എറർ ഹാൻഡലിംഗ് എന്നിവയ്ക്കായി രണ്ട് "ഡ്രാഫ്റ്റ് ഡിസൈൻ" പ്രസിദ്ധീകരിച്ചു.
ജനറിക് പ്രോഗ്രാമിങ്ങിനുള്ള പിന്തുണയില്ലായ്മയും ഗോ 1.x ൽ എറർ ഹാൻഡിലിംഗിന്റെ അത്യുക്തിയും ഗണ്യമായ വിമർശനത്തിന് ഇടയാക്കി.
Current Gopher mascot and old logo.
ഭാഷാ സ്പെസിഫിക്കേഷനും അടിസ്ഥാന ലൈബ്രറിയുടെ പ്രധാന ഭാഗങ്ങളുക്കുമായി ഗോ വൺ ഗ്യാരന്റി പൊരുത്തം നൽകുന്നു.
നിലവിലെ ഗോ 1.11 റിലീസിലേക്ക് വരെയുള്ള എല്ലാ പതിപ്പുകളും ഈ വാഗ്ദാനം പാലിച്ചിട്ടുണ്ട്.
രണ്ട് പ്രധാന റിലീസുകൾ ഉള്ളതുവരെ ഓരോ ഗോ ഗോ റിലീസും പിന്തുണയ്ക്കുന്നു.
പ്രധാന പതിപ്പ് പ്രാരംഭ റിലീസ് തീയതി ഭാഷാ മാറ്റങ്ങൾ മറ്റ് മാറ്റങ്ങൾ 1 - 1.0.3 2012/03/28 പ്രാരംഭ റിലീസ് 1.1 - 1.1.2 2013/05/13 ഗോ 1.1-ൽ, സ്ഥിരമായ പൂജ്യം കൊണ്ട് ഒരു പൂർണ്ണസംഖ്യയെ വിഭജിക്കുന്നത് നിയമപരമായ പ്രോഗ്രാമല്ല, അതിനാൽ ഇത് ഒരു കംപൈൽ-ടൈം എററാണ്.
സാധുതയുള്ള യൂണികോഡ് കോഡ് പോയിന്റുകളുടെ ഗണത്തിൽ നിന്ന് സറോഗേറ്റ് ഹാൾവ്സ് ഒഴിവാക്കാൻ സ്ട്രിംഗ്, റൂൺ ലിറ്ററൽ എന്നിവയുടെ നിർവചനം പരിഷ്കരിച്ചിരിക്കുന്നു.
റിട്ടേൺ റിക്വയർമെന്റ് നിയമങ്ങൾ ലൂസൻഡ് ചെയ്തു(Loosened).
ഒരു ഫംഗ്‌ഷൻ അവസാനത്തിൽ എത്തുന്നതിന് മുമ്പ് ഒരു ഫംഗ്‌ഷൻ എല്ലായ്‌പ്പോഴും റിട്ടേൺ ചെയ്യാൻ സാധിക്കുമെന്ന് കംപൈലറിന് തെളിയിക്കാൻ കഴിയുമെങ്കിൽ, ഒരു ഫൈനൽ ടെർമിനേറ്റിംഗ് സ്റ്റേറ്റ്‌മെന്റ് ഒഴിവാക്കാവുന്നതാണ്.
int തരവും uint തരങ്ങളും 32 അല്ലെങ്കിൽ 64 ബിറ്റാണോ എന്ന് തിരഞ്ഞെടുക്കാൻ ലാങ്വേജ് ഇമ്പ്ലിമെന്റേഷനെ അനുവദിക്കുന്നു.
64-ബിറ്റ് ആർക്കിടെക്ചറുകളിൽ, പരമാവധി ഹീപ് സൈസ് കുറച്ച് ജിഗാബൈറ്റുകളിൽ നിന്ന് സെവറൽ ടെൻസ്(20 അല്ലെങ്കിൽ 30-ൽ കൂടുതലുള്ളതും എന്നാൽ 100-ൽ താഴെയും ഉള്ള ഒരു അളവ്) ജിഗാബൈറ്റുകളായി  വർദ്ധിപ്പിച്ചിരിക്കുന്നു.
സ്റ്റാൻഡേർഡ് ടൂൾ സെറ്റിലേക്ക് ഒരു റേസ് ഡിറ്റക്ടറിന്റെ കൂട്ടിച്ചേർക്കൽ.
1.2 - 1.2.2 2013/12/01 സുരക്ഷാ കാരണങ്ങളാൽ, nil പോയിന്ററുകളുടെ ചില ഉപയോഗങ്ങൾ റൺ-ടൈം പാനിക്ക് സൃഷ്ടിക്കുമെന്ന് വ്യക്തമാക്കുന്നു.
നിലവിലുള്ള ഒരു അറേയിലോ സ്ലൈസിലോ സ്ലൈസിംഗ് ഓപ്പറേഷൻ ഉപയോഗിക്കുമ്പോൾ ശേഷിയും വിഡ്തും വ്യക്തമാക്കാനുള്ള കഴിവ് Go 1.2 ചേർക്കുന്നു.
ഒരു സ്ലൈസിംഗ് ഓപ്പറേഷൻ, ഇതിനകം സൃഷ്‌ടിച്ച അറേയുടെയോ സ്ലൈസിന്റെയോ തുടർച്ചയായ ഭാഗം വിവരിച്ചുകൊണ്ട് ഒരു പുതിയ സ്ലൈസ് സൃഷ്‌ടിക്കുന്നു.
റൺടൈം ഷെഡ്യൂളറിന് ഇപ്പോൾ (ഇൻലൈൻ ചെയ്യാത്ത) ഫംഗ്‌ഷൻ കോളുകളിൽ അഭ്യർത്ഥിക്കാൻ കഴിയും.
Go 1.2 ഒരു പ്രോഗ്രാമിന് ഉണ്ടായിരിക്കാവുന്ന ആകെ ത്രെഡുകളുടെ എണ്ണം ക്രമീകരിക്കാവുന്ന ഒരു പരിധി (സ്ഥിരസ്ഥിതി(default) 10,000) അവതരിപ്പിക്കുന്നു.
Go 1.2-ൽ, ഒരു ഗൊറൂട്ടിൻ സൃഷ്ടിക്കുമ്പോൾ സ്റ്റാക്കിന്റെ ഏറ്റവും കുറഞ്ഞ വലുപ്പം 4 കെബിയിൽ നിന്ന് 8 കെബിലേക്ക് ഉയർത്തി.
1.3 - 1.3.3 2014/06/18 ഈ റിലീസിൽ ഭാഷാ മാറ്റങ്ങളൊന്നുമില്ല.
Go 1.3 മെമ്മറി മോഡൽ, ബഫർ ചെയ്‌ത ചാനലുകളിൽ അയയ്‌ക്കുന്നതും സ്വീകരിക്കുന്നതും സംബന്ധിച്ച ഒരു പുതിയ നിയമം ചേർക്കുന്നു, ഒരു ബഫർ ചെയ്‌ത ചാനൽ ഒരു ലളിതമായ സെമാഫോറായി ഉപയോഗിക്കാമെന്നും, ചാനലിലേക്ക് സെൻഡ് ചെയ്യുന്നതും, റിലീസുചെയ്യാൻ ചാനലിൽ നിന്ന് സ്വീകരണം നടത്താമെന്നും വ്യക്തമാക്കുന്നു.
Go 1.3 has changed the implementation of goroutine stacks away from the old, "segmented" model to a contiguous model.
For a while now, the garbage collector has been precise when examining values in the heap; the Go 1.3 release adds equivalent precision to values on the stack.
Iterations over small maps no longer happen in a consistent order.
This is due to developers abusing implementation behaviour.
1.4 - 1.4.3 2014/12/10 Range-expression without assignment Automatic double-dereference on method calls is now disallowed in gc and gccgo.
This is a backwards incompatible change but inline within the language specification.
In 1.4, much of the runtime code has been translated to Go so that the garbage collector can scan the stacks of programs in the runtime and get accurate information about what variables are active.
The language accepted by the assemblers cmd/5a , cmd/6a and cmd/8a has had several changes, mostly to make it easier to deliver type information to the runtime.
Addition of internal packages.
New subcommand go generate.
1.5 - 1.5.4 2015/08/19 Due to an oversight, the rule that allowed the element type to be elided from slice literals was not applied to map keys.
This has been corrected in Go 1.5.
The compiler and runtime are now implemented in Go and assembler, without C. Now that the Go compiler and runtime are implemented in Go, a Go compiler must be available to compile the distribution from source.
The compiler is now self-hosted.
The garbage collector has been re-engineered for 1.5.
The "stop the world" phase of the collector will almost always be under 10 milliseconds and usually much less.
In Go 1.5, the order in which goroutines are scheduled has been changed.
1.6 - 1.6.4 2016/02/17 There are no language changes in this release.
A major change was made to cgo defining the rules for sharing Go pointers with C code, to ensure that such C code can coexist with Go's garbage collector.
The Go parser is now hand-written instead of generated.
The go vet command now diagnoses passing function or method values as arguments to Printf , such as when passing f where f() was intended.
1.7 - 1.7.6 2016/08/15 Clarification on terminating statements in the language specification.
This does not change existing behaviour.
For 64-bit x86 systems, the following instructions have been added: PCMPESTRI , RORXL , RORXQ , VINSERTI128 , VPADDD , VPADDQ , VPALIGNR , VPBLENDD , VPERM2F128 , VPERM2I128 , VPOR , VPSHUFB , VPSHUFD , VPSLLD , VPSLLDQ , VPSLLQ , VPSRLD , VPSRLDQ , and VPSRLQ .
This release includes a new code generation back end for 64-bit x86 systems, based on SSA .
Packages using cgo may now include Fortran source files (in addition to C, C++, Objective C, and SWIG), although the Go bindings must still use C language APIs.
The new subcommand “ go tool dist list ” prints all supported operating system/architecture pairs.
1.8 - 1.8.7 2017/02/16 When explicitly converting a value from one struct type to another,  as of Go 1.8 the tags are ignored.
Thus two structs that differ  only in their tags may be converted from one to the other.
For 64-bit x86 systems, the following instructions have been added: VBROADCASTSD , BROADCASTSS , MOVDDUP , MOVSHDUP , MOVSLDUP , VMOVDDUP , VMOVSHDUP , and VMOVSLDUP .
Garbage collection pauses should be significantly shorter than they  were in Go 1.7, usually under 100 microseconds and often as low as  10 microseconds.
See the  document on eliminating stop-the-world stack re-scanning  for details.
The overhead of deferred  function calls has been reduced by about half.
The overhead of calls from Go into C has been reduced by about half.
1.9 - 1.9.7 2017/08/24 Go now supports type aliases.
Force the intermediate rounding in floating-point arithmetic.
The Go compiler now supports compiling a package's functions in parallel, taking  advantage of multiple cores.
1.10 - 1.10.3 2018/02/16 A corner case involving shifts of untyped constants has been clarified.
The grammar for method expressions has been updated to relax the syntax to allow any type expression as a receiver.
For the X86 64-bit port, the assembler now supports 359 new instructions, including the full AVX, AVX2, BMI, BMI2, F16C, FMA3, SSE2, SSE3, SSSE3, SSE4.1, and SSE4.2 extension sets.
The assembler also no longer implements MOVL $0, AX as an XORL instruction, to avoid clearing the condition flags unexpectedly.
1.11 - 1.11.1 2018/08/24 There are no changes to the language specification.
Go 1.11 adds an experimental port to WebAssembly .
Go 1.11 adds preliminary support for a new concept called “mo
dules,”  an alternative to GOPATH with integrated support for versioning and  package distribution.
The assembler for amd64 now accepts AVX512 instructions.
Go 1.11 drops support of Windows XP and Windows Vista.
രണ്ട് പ്രധാന പ്രവർത്തനങ്ങൾ നിലവിൽ ഉണ്ട്: ലിനക്സ് , ബിഎസ്ഡി , മാക് ഒഎസ് , പ്ലാൻ 9, വിൻഡോസ് , (2015 മുതൽ) മൊബൈൽ ഉപകരണങ്ങൾ ഉൾപ്പെടെയുള്ള ഒന്നിലധികം പ്ലാറ്റ്ഫോമുകൾ ടാർഗെറ്റ് ചെയ്യുന്ന ഗൂഗിളിന്റെ ഗോ ടൂൾചെയിൻ.
പ്രാഥമിക ഗോ കമ്പൈലർ പതിപ്പ് 1.5 ൽ സ്വയം ഹോസ്റ്റിംഗ് നടത്തി.
രണ്ടാമത്തെ കമ്പൈലർ, ജിസിസിഗോ(gccgo), ഒരു ജിസിസി ഫ്രണ്ട്എൻഡ് ആണ്.
ഗോഫർജെഎസ്(GopherJS) എന്നറിയപ്പെടുന്ന ഒരു മൂന്നാം ഗോ കമ്പൈലർ, ഉണ്ട്.
ഗോഫർജെഎസ് ജാവസ്ക്രിപ്റ്റ് (JavaScript) കോഡിലേക്ക് കംപൈൽ ചെയ്യുന്നു, New logo.
ഗോ സി യുടെ പാരമ്പര്യത്തിലൂടെ തിരിച്ചറിയാം, പക്ഷേ, ബ്രേവറ്റി, ലാളിത്യം, സുരക്ഷ എന്നിവ മെച്ചപ്പെടുത്തുന്നതിന് നിരവധി മാറ്റങ്ങൾ വരുത്തുന്നു.
ഭാഷയിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്നവ താഴെ കൊടുക്കുന്നു: ഡൈനാമിക് ഭാഷയിൽ വളരെ സാധാരണമായ ഒരു വാക്യഘടനയും പരിസ്ഥിതി പാറ്റേണുകളും: ടൈപ്പ് അനുപാതത്തിൽ (x: = 0 അല്ല Int x = 0 അല്ലെങ്കിൽ var x = 0;) വഴിയുള്ള തിരഞ്ഞെടുക്കാവുന്ന സംക്ഷിപ്ത വേരിയബിൾ ഡിക്ലറേഷൻ ആൻഡ് ഇനിഷ്യലൈസേഷൻ.
ചുരുങ്ങിയ സമയത്തിനുള്ളിലുള്ള വേഗതയ്യാർന്ന് കംപൈലിംഗ്.
റിമോട്ട് പാക്കേജ് മാനേജ്മെന്റും (‌ go get ) ഓൺലൈൻ പാക്കേജ് ഡോക്യുമെന്റേഷനും.
പ്രത്യേക പ്രശ്നങ്ങളിലേക്ക് പ്രത്യേകമായുള്ള സമീപനം: അന്തർനിർമ്മിത കൺകറൻസി പ്രെമീറ്റീവ്സ്: ലഘുവായ പ്രോസസ് (ഗോറൗണ്ടിനസ്), ചാനലുകൾ, select സ്റ്റേറ്റ്മെന്റ്.
അയഥാർത്ഥ(virtual)പാരമ്പര്യത്തിന് പകരം ഒരു ഇന്റർഫേസ് സംവിധാനം, മാത്രമല്ല നോൺ-വെർച്ച്വൽ ഇൻഹെറിറ്റൻസിന് പകരം എംബെഡിംഗ് ടൈപ്പ് ചെയ്യുക.
ഒരു ടൂൾചെയിൻ സ്ഥിരമായി, ബാഹ്യ ഡിപൻഡൻസികൾ ഇല്ലാതെ സ്റ്റാറ്റിസ്റ്റിക്കൽ ലിങ്ക് ചെയ്ത നേറ്റീവ് ബൈനറികൾ ഉൽപാദിപ്പിക്കുന്നു.
സമാനമായ ഭാഷകളിലെ സവിശേഷതകളെ ഒഴിവാക്കുന്നതിലൂടെ, ഭാഗികമായോ ഒരു പ്രോഗ്രാമർക്ക് എളുപ്പത്തിൽ മനസ്സിലാക്കാൻ മതിയായ ലളിതമായ ഭാഷാ വിവരണം നിലനിർത്താനുള്ള ആഗ്രഹമാണ് ഈ ഭാഷ വികസിപ്പിക്കുന്നതിനുള്ള കാരണം.
കോഡ് സംക്ഷിപ്തവും വായനക്ഷമതയും ലക്ഷ്യമിട്ട് ഗോയുടെ വാക്യഘടന സിയിൽ നിന്നുള്ള മാറ്റങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.
വേരിയബിളുകൾ തരം വ്യക്തമാക്കാതെ തന്നെ പ്രോഗ്രാമർക്ക് എഴുതാൻ അനുവദിക്കുന്ന സംയുക്ത പ്രഖ്യാപന / പ്രാരംഭ വിതരണ ഓപ്പറേറ്റർ അവതരിപ്പിച്ചു, i := 3 അല്ലെങ്കിൽ s := "Hello, world!" .
ഇത് സി യുടെ int i = 3 ; const char *s = "Hello, world!"
; എന്നീ കോഡുകൾ വിഭിന്നമാണ്.
അർദ്ധവിരാമങ്ങൾ ഇപ്പോഴും പ്രസ്താവനകൾ നിർത്തലാക്കുന്നു, എന്നാൽ ഒരു വരിയുടെ അവസാനം ഉണ്ടാകുമ്പോൾ അർത്ഥവത്താണ്.
ഫംഗ്ഷനുകൾക്ക് ഒന്നിലധികം മൂല്യങ്ങൾ നൽകാം, result, err എന്നീ ജോഡികളിലേക്ക് മടങ്ങിവരാം, സാമ്പ്രദായികമായ പ്രവർത്തനം അതിന്റെ കോളർ എന്നതിലേക്ക് ഒരു പിശക് സൂചിപ്പിക്കുന്നു.
പേര് ഉപയോഗിച്ച് സ്ട്രറ്റ്(struct) ഘടകം ആരംഭിക്കുന്നതിനും മാപ്പുകളും സ്ലൈസുകളും ആരംഭിക്കുന്നതിനുമായി ലിറ്റററായ വാക്യഘടനകൾ ചേർക്കുന്നു.
ഗോയുടെ സംഖ്യകൾ (ബൈറ്റ്, int64, float32, മുതലായവ), ബൂളിയൻസ്, പ്രതീക സ്ട്രിങ്സ് (സ്ട്രിംഗ്) എന്നിവയുൾപ്പെടെ ധാരാളം അന്തർനിർമ്മിത തരങ്ങൾ ഉണ്ട്.
സ്ട്രിങ്സ് മാറ്റമില്ലാത്തവയാണ്; ബിൽറ്റ്-ഇൻ ഓപ്പറേറ്റർമാർ, കീവേഡുകൾ (ഫംഗ്ഷണേക്കാൾ) എന്നിവ സങ്കലനം, താരതമ്യം, യോജിപ്പിക്കൽ, യു.ടി.എഫ്-8 (UTF-8) എൻകോഡിംഗ് / ഡീകോഡിംഗ് എന്നിവ നൽകുന്നു.
റെക്കോർഡ് തരങ്ങൾ സ്ട്രറ്റ് കീവേഡ്(struct keyword) ഉപയോഗിച്ച് നിർവചിക്കാവുന്നതാണ്.
ഓരോ തരത്തിനും T , ഓരോ നോൺ-നെഗറ്റീവ് ഇന്റഗ്രേറ്റ് കോൺസ്റ്റന്റന്റ് n എന്നിവയ്ക്കും ഒരു അറേ തരം സൂചിപ്പിച്ചിരിക്കുന്നത് [ n ] T ; വിവിധ ദൈർഘ്യമുള്ള അറേകൾ പല തരത്തിലുണ്ട്, ഇത് വ്യത്യസ്ത തരം പോലെയാണ്.
ചലനാത്മക ശ്രേണികൾ "സ്ലൈസ്സെസ്" എന്ന പേരിൽ ലഭ്യമാണ്,  []T എന്നത് ചില തരത്തിലുള്ള ടിയെ സൂചിപ്പിച്ചിരിക്കുന്നു.
ശ്രേണികളെ വിപുലീകരിക്കാൻ പുതിയ മെമ്മറി ആവശ്യമായി വരുമ്പോൾ അവയ്ക്ക് ഒരു നീളവും ശേഷിയുമുണ്ട്.
നിരവധി ഭാഗങ്ങൾ അവരുടെ അന്തർഭവിച്ചിരിക്കുന്ന മെമ്മറി പങ്കിടാനിടയുണ്ട്.
എല്ലാ തരങ്ങൾക്കും പോയിന്ററുകൾ ലഭ്യമാണ്, കൂടാതെ പോയിന്റർ-ടു-T എന്നത് ടൈപ്പ് * T എന്ന് സൂചിപ്പിക്കുന്നു.
പരോക്ഷമായ അഡ്രസ്സ് ടേക്കിംഗും, ഉം * സിയിലേപോലെയാണ് ഉപയോഗിക്കുന്നത് അല്ലെങ്കിൽ മെത്തേഡ് കോൾ അല്ലെങ്കിൽ ആട്രിബ്യൂട്ട് ആക്സസ് സിന്റാക്സ് വഴി പൂർണ്ണമായും സംഭവിക്കുന്നു.
സ്റ്റാൻഡേർഡ് ലൈബ്രറിയിൽ സ്പെഷ്യൽ unsafe.
Pointer ഒഴികെ പോയിന്റർ അരിത്മെറ്റിക് ഇല്ല.
ഒരു ജോടി തരങ്ങൾക്ക് K, V, ടൈപ്പ് മാപ്പ് [K] V ടൈപ്പ്- V മൂല്യങ്ങളുള്ള ടൈപ്പ്- K കീകൾ മാപ്പുചെയ്യുന്ന ഹാഷ് ടേബിളുകളുടെ തരങ്ങളാണ് ഉള്ളത്.
പ്രത്യേക വാക്യഘടനയും അന്തർനിർമ്മിതവുമായ ഫംഗ്ഷനുകൾ ഉപയോഗിച്ച് ഭാഷയിലേക്ക് ഹാഷ് ടേബിളുകൾ നിർമ്മിച്ചിരിക്കുന്നു.
സമയോചിതമായ ഗോ പ്രക്രിയകൾക്കിടയിൽ chanT സമകാലിക ഗണിത പ്രക്രിയകൾ തമ്മിലുള്ള ടൈപ്പ് ടി മൂല്യങ്ങൾ അയയ്ക്കാൻ അനുവദിക്കുന്ന ഒരു ചാനൽ ആണ്.
ഇൻറർഫെയ്സുകൾക്കുള്ള പിന്തുണ കൂടാതെ, ഗോ ടൈപ്പ് സംവിധാനം നാമമാത്രമാണ്: ഒരു പുതിയ പേരുള്ള തരം നിർവചിക്കുവാനുള്ള ടൈപ്പ് കീവേഡ് ഉപയോഗിയ്ക്കാം, ഇത് ഒരേ ലേഔട്ട് ഉള്ള മറ്റ് പേരുള്ളതിൽ നിന്നും വ്യത്യസ്തമാണ് (ഒരു struct ന്റെ കാര്യത്തിൽ, ഒരേ നിലയിലുള്ള അതേ അംഗങ്ങൾ).
വിവിധ തരത്തിലുള്ള രൂപപരിണാമം (ഉദാഹരണത്തിന്, വിവിധ പൂർണ്ണസംഖ്യാതരങ്ങൾക്ക് ഇടയിൽ) മുൻകൂർ നിർവചിച്ചിരിക്കുകയും ഒരു പുതിയ തരം കൂട്ടിച്ചേർക്കുകയും ചെയ്യുന്നത് അധിക പരിവർത്തനങ്ങൾ നിർവചിച്ചേക്കാം, എന്നാൽ പേരുള്ള തരങ്ങൾ തമ്മിലുള്ള പരിവർത്തനങ്ങൾ സ്പഷ്ടമായി പ്രവർത്തിപഥത്തിൽ എത്തിക്കണം.
ഉദാഹരണത്തിനു്, 32-ബിറ്റ് അജ്ഞാതമായ (unsigned)പൂർണ്ണസംഖ്യകളുടെ അടിസ്ഥാനത്തിൽ IPv4 വിലാസങ്ങൾക്കുള്ള ഒരു രീതി നിഷ്കർഷിയ്ക്കുന്നതിനായി type കീവേഡ് ഉപയോഗിയ്ക്കാം.
type ipv4addr uint32
ഈ തരത്തിലുള്ള നിർവ്വചനത്തിൽ, ipv4addr (x) ഒരു ഐപി(IP) വിലാസം ആയി uint32  x നെ വ്യാഖ്യാനിക്കുന്നു.
ഉദാഹരണത്തിനു്, ipv4addr എന്ന തരം വേരിയബിളിലേക്കു് x നൽകുന്നതു് ഒരു ടൈപ്പ് എറർ ആണ്.
സ്ഥായിയായ എക്സ്പ്രഷനുകൾ ഒന്നുകിൽ ടൈപ്പ് ചെയ്തതോ അല്ലെങ്കിൽ "ടൈപ്പ്ചെയ്യാത്തതോ" ആയിരിക്കും; അവർ പ്രതിനിധാനം ചെയ്യുന്ന മൂല്യം ഒരു കംപൈൽ-ടൈം പരിശോധനയിലൂടെ കടന്നുപോകുമ്പോൾ ടൈപ്പ് ചെയ്ത ഒരു വേരിയബിളിന് നിയുക്തമാകുമ്പോൾ അവർക്ക് ഒരു മാതൃക നൽകിയിരിക്കുന്നു.
func കീവേഡ് വഴി; ഫങ്ഷൻ തരങ്ങൾ സൂചിപ്പിച്ചിരിക്കുന്നു അവർ പൂജ്യമോ കൂടുതൽ പരാമീറ്ററുകളോ എടുക്കുകയും പൂജ്യം അല്ലെങ്കിൽ കൂടുതൽ മൂല്യങ്ങൾ തിരികെ നൽകുകയും ചെയ്യുന്നു, എല്ലാം ടൈപ്പ് ചെയ്തു.
പരാമീറ്ററും റിട്ടേൺ മൂല്ല്യങ്ങളും ഒരു ഫംഗ്ഷൻ തരം നിർണ്ണയിക്കുന്നു; അങ്ങനെ, func (string, int32) (int, error) ഒരു സ്ട്രിംഗ് എടുക്കുന്ന ഫങ്ഷനുകളുടെ തരം, ഒരു 32-ബിറ്റ് സൈൻഡ് സംഖ്യ, സൈൻഡ് പൂർണ്ണസംഖ്യ തിരികെ നൽകുന്നു (സ്ഥിരമായ വീതിയുടെ) ബിൽറ്റ്-ഇൻ ഇന്റർഫെയിസ് ടൈപ്പ് , error എന്നിവയുടെ മൂല്യത്തിലൂടെ.
ഏതെങ്കിലും പേരുള്ള ടൈപ്പിന് ഒരു രീതി ഉണ്ട്.
മുകളിലുള്ള ഐപി(IP)വിലാസത്തിലുള്ള ഉദാഹരണം അതിന്റെ മൂല്യം അറിയപ്പെടുന്ന നിലവാരമാണോ എന്ന് പരിശോധിക്കുന്നതിനായി ഒരു രീതി ഉപയോഗിച്ച് വിപുലീകരിക്കാം.
// ZeroBroadcast reports whether addr is 255.255.255.255.
func ( addr ipv4addr ) ZeroBroadcast () bool { return addr == 0xFFFFFFFF }
നാമമാത്ര ടൈപ്പിങ് കാരണം, ipv4addr- ലേക്കു് ഈ രീതി വിശദീകരിയ്ക്കുന്നു, പക്ഷേ uint32- ൽ അല്ല.
എന്നാലും മെത്തേഡിന് പ്രത്യേക നിർവ്വചനവും കോൾ സിന്റാക്സും ഉണ്ടെങ്കിലും, വ്യത്യസ്തമായ മെത്തേഡ് ഇല്ല.
ഇന്റർഫെയിസ് സിസ്റ്റം
ക്ലാസ് പാരമ്പര്യത്തിന് പകരം രണ്ടു സവിശേഷതകൾ നൽകുന്നു.
ഒന്നാമത്തേത് ഉൾച്ചേർക്കൽ ആണ്, അത് ഒരു ഓട്ടോമേറ്റഡ് രൂപകൽപ്പനയായി അല്ലെങ്കിൽ ഡെലിഗേഷനായി കാണാൻ കഴിയും.
രണ്ടാമത്തേത് അതിന്റെ ഇന്റർഫേസുകളാണ്.
റൺ ടൈം പോളിമോർഫിസം നൽകുന്നു.
ഇന്റർഫെയിസുകൾ ഒരു തരത്തിലുള്ള ടൈപ്പാണ്, പരിമിതമായ ഘടനയുള്ള ടൈപ്പിങ് രീതി ലഭ്യമാക്കുന്നു അല്ലെങ്കിൽ ഗോയുടെ നാമമാത്ര ടൈപ്പ് സിസ്റ്റം.
ഒരു ഇന്റർഫെയിസ് തരത്തിലുള്ള ഒരു വസ്തുവും മറ്റൊരു തരത്തിലുള്ളതാണ്, ഒരേസമയം സി++ ഒബ്ജക്റ്റുകൾ പോലെയാണ് അതിന്റെ അടിത്തറ ഒപ്പം ഡെറിവേഡ് ക്ലാസും.
സ്മാൾടോക്ക് പ്രോഗ്രാമിങ് ഭാഷയിൽ നിന്നുള്ള പ്രോട്ടോകോളുകൾക്ക് ശേഷം ഗോ ഇൻറർഫേസുകൾ രൂപകൽപ്പന ചെയ്തിട്ടുണ്ട്.
ഗോ ഇന്റർഫെയ്സുകളെ വിവരിക്കുമ്പോൾ ഡക്ക് ടൈപ്പിങ് എന്ന വാക്ക് ഒന്നിലധികം സ്രോതസ്സുകൾ ഉപയോഗിക്കുന്നു ഡക്ക് ടൈപ്പിങ് എന്ന പദം കൃത്യമായി നിർവ്വചിച്ചിട്ടില്ലെന്നും അതുകൊണ്ടുതന്നെ തെറ്റാകുന്നില്ലെന്നും, അത് സാധാരണയായി തരം തിട്ടപ്പെടുത്തുന്നത് സ്ഥിരമായി പരിശോധിക്കില്ല എന്നാണ്.
ഒരു ഗോ കമ്പൈലർ ഉപയോഗിച്ച് ഗോ ഇന്റർഫേസിന്റെ മാനദണ്ഡം സ്ഥിരമായി പരിശോധിക്കുന്നു(ഒരു തരം ദൃഢപ്രസ്താവം നടത്തുമ്പോൾ ഒഴികെ), ഗോ രചയിതാക്കൾ ഘടനാപരമായ ടൈപ്പിംഗ് എന്ന പദം ഇഷ്ടപ്പെടുന്നു.
ഒരു ഇന്റർഫെയിസ് ടൈപ്പിന്റെ നിർവ്വചനം ആവശ്യമുള്ള രീതികളെ പേര്, തരം എന്നിവ പ്രകാരം പട്ടികയിൽപ്പെടുത്തുന്നു.
ഏതു  തരത്തിലുള്ള T ഫങ്ഷനുകൾക്കായി, ഏത് തരത്തിലുളള ഫങ്ഷനുകൾ തമ്മിൽ പൊരുത്തപ്പെടുന്ന എല്ലാ വസ്തുക്കളും  ഇന്റർഫേസ് ടൈപ്പ് , I ടൈപ്പിലുള്ള വസ്തുവാണ്.
ടൈപ്പ് T ന്റെ നിർവ്വചനം ടൈപ്പ് I തിരിച്ചറിയാൻ (കൂടാതെ കഴിയില്ല).
ഉദാഹരണത്തിന്, ആകൃതി, സ്ക്വയർ, സർക്കിൾ എന്നിവ നിർവ്വചിച്ചിട്ടുണ്ടെങ്കിൽ: import "math" type Shape interface { Area () float64 } type Square struct { // Note: no "implements" declaration side float64 } func ( sq Square ) Area () float64 { return sq . side * sq . side } type Circle struct { // No "implements" declaration here either radius float64 } func ( c Circle ) Area () float64 { return math . Pi * math . Pow ( c . radius , 2 ) }
ഒരു ചതുരാകൃതിയിലും ഒരു സർക്കിളിലും അന്തർലീനമായ ഒരു ആകൃതിയാണ്, അത് ഒരു ആകൃതിയിലുള്ള ടൈപ്പിംഗ് വേരിയബിളായി നൽകാം.
ഔപചാരികഭാഷയിൽ, ഗോയുടെ ഇൻഫർമേഷൻ സിസ്റ്റം നാമമാത്ര ടൈപ്പിങിന് പകരം ഘടനാപരമായ രീതിയിൽ നൽകുന്നു.
സംയോജിത ഇന്റർഫെയിസ് ഉണ്ടാക്കുന്നതിന്റെ ഫലമായി ഇന്റർഫെയിസുകൾക്ക് മറ്റ് ഇന്റർഫെയിസുകൾ ഉൾപ്പെടുത്താൻ കഴിയും ഇത് എംബഡ്ചെയ്ത ഇന്റർഫേസ് നടപ്പിലാക്കുന്ന രീതികളും പുതുതായി നിർവചിച്ച ഇൻറർഫേസ് ചേർക്കുന്ന രീതികളും ആവശ്യങ്ങൾ നിർവ്വഹിക്കുവാൻ പ്രാപ്തിയുള്ളതാണ്.
ഗോ അടിസ്ഥാന ലൈബ്രറി റീഡർ, റൈറ്റർ എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ള ഇൻപുട്ട് / ഔട്ട്പുട്ട് സിസ്റ്റം ഉൾപ്പെടെ നിരവധി സ്ഥലങ്ങളിൽ ജനറിസിറ്റി നൽകുന്നതിന് ഇന്റർഫേസ് ഉപയോഗിക്കുന്നു.
ഇന്റർഫെയ്സുകൾ വഴിയുള്ള രീതികൾ വിളിക്കുന്നതിനു പുറമേ, റൺ ടൈം ടൈപ്പ് പരിശോധന ഉപയോഗിച്ച് മറ്റ് തരങ്ങളുമായി ഇന്റർഫേസ് മൂല്യങ്ങൾ പരിവർത്തനം ചെയ്യാൻ അനുവദിക്കുന്നു.
ഒന്നിലധികം തരങ്ങൾക്കെതിരായി പരിശോധിക്കുന്ന തരം ഏകീകരണം, , ടൈപ്പ് സ്വിച്ച്, എന്നിവ പരിശോധിക്കുന്ന തരത്തിലുള്ള ടൈപ്പുചെയ്യൽ,  അങ്ങനെ ചെയ്യാൻ ഭാഷ നിർമ്മിക്കുന്നു.
ശൂന്യമായ ഇന്റർഫേസ് interface{} ഒരു സുപ്രധാന അടിസ്ഥാന കേസ്സാണ്, കാരണം ഇത് ഒരു നിശ്ചിത തരത്തിലുള്ള ഒരു ഇനത്തെ സൂചിപ്പിക്കാൻ കഴിയും.
ഇത് ജാവ അല്ലെങ്കിൽ സി# ലെ ഒബ്ജക്റ്റ് ക്ലാസുമായി സാമ്യമുള്ളതും ഏതെങ്കിലും തരവുമായി സ്റ്റാറ്റിഫൈഡാണ്, int പോലുള്ള അന്തർനിർമ്മിത തരങ്ങൾ ഉൾപ്പെടെയുള്ളവ.
ശൂന്യമായ ഇൻറർഫേസ് ഉപയോഗിച്ചുള്ള കോഡ്, പരാമർശിത വസ്തുവിനെ ലളിതമായ രീതികൾ (അല്ലെങ്കിൽ അന്തർനിർമ്മിത ഓപ്പറേറ്റർമാർ) വിളിക്കാൻ കഴിയില്ല, പക്ഷെ അതിനെ interface{} മൂല്യം സൂക്ഷിച്ചു്, ഒരു ടൈപ്പ് അസ്സേർഷൻ അല്ലെങ്കിൽ ടൈപ്പ് സ്വിച്ച് വഴി കൂടുതൽ പ്രയോജനപ്രദമായ തരത്തിലേക്കു് മാറ്റുവാൻ ശ്രമിയ്ക്കുക അല്ലെങ്കിൽ ഗോയുടെ reflect പാക്കേജിൽ ഇത് പരിശോധിക്കുക.
interface{} ഏതൊരു മൂല്യത്തെയും സൂചിപ്പിയ്ക്കുന്നതിനാൽ, സ്റ്റാറ്റിക് ടൈപ്പിങിന്റെ നിയന്ത്രണത്തിൽ നിന്നും രക്ഷപ്പെടാൻ പരിമിതമായ മാർഗ്ഗമാണ് ഇത്, void* എന്ന കോഡ് സിയിൽ ഉപയോഗിക്കുന്നത് പോലെ പക്ഷെ കൂടുതൽ റൺ ടൈം ടൈപ്പ് പരിശോധനകൾ കൂടി നടത്തുന്നു.
ഇന്റർഫെയിസ് മൂല്ല്യങ്ങൾ ഡാറ്റയിലേക്കുള്ള പോയിന്റും റൺ സമയ ടൈപ്പ് വിവരങ്ങൾക്കുള്ള രണ്ടാമത്തെ പോയിന്റും ഉപയോഗിച്ച് നടപ്പിലാക്കുന്നു.
ഗോയിൽ പോയിന്ററുകൾ ഉപയോഗിച്ച് നടപ്പിലാക്കാവുന്ന മറ്റു ചില രീതികളെപ്പോലെ, അൺഇനിസൈലസെഡ് ചെയ്തിട്ടില്ലെങ്കിൽ ഇന്റർഫെയിസ് മൂല്ല്യങ്ങൾ ലഭ്യമല്ല.
പാക്കേജ് സിസ്റ്റം
ഗോ പാക്കേജ് സിസ്റ്റത്തിൽ, ഓരോ പാക്കേജിനും ഒരു പാത്ത് ഉണ്ട് (ഉദാ: " compress/bzip2" or "golang.org/x/net/html ") കൂടാതെ ഒരു പേരും (ഉദാ: bzip2 or html )ഉണ്ട്.
മറ്റ് പാക്കേജുകളുടെ നിർവ്വചനങ്ങൾക്കുള്ള റെഫറൻസുകൾ എല്ലായ്പ്പോഴും മറ്റ് പാക്കേജുകളുടെ പേരിൽ മുൻഗണന നൽകണം, മറ്റ് പാക്കേജുകളിൽ നിന്നുള്ള ക്യാപിറ്റലൈസ്ഡ് പേരുകൾ മാത്രമേ ആക്സസ് ചെയ്യാൻ കഴിയൂ: ഐഓ.
റീഡർ(io.Reader) പൊതുവാണെങ്കിലും ബിസിപ്പ്2.
റീഡർ(bzip2.reader)അല്ല.