ക്ലാസ് പാരമ്പര്യത്തിന് പകരം രണ്ടു സവിശേഷതകൾ നൽകുന്നു. ഒന്നാമത്തേത് ഉൾച്ചേർക്കൽ ആണ്, അത് ഒരു ഓട്ടോമേറ്റഡ് രൂപകൽപ്പനയായി അല്ലെങ്കിൽ ഡെലിഗേഷനായി കാണാൻ കഴിയും.

രണ്ടാമത്തേത് അതിന്റെ ഇന്റർഫേസുകളാണ്. റൺ ടൈം പോളിമോർഫിസം നൽകുന്നു.ഇന്റർഫെയിസുകൾ ഒരു തരത്തിലുള്ള ടൈപ്പാണ്, പരിമിതമായ ഘടനയുള്ള ടൈപ്പിങ് രീതി ലഭ്യമാക്കുന്നു അല്ലെങ്കിൽ ഗോയുടെ നാമമാത്ര ടൈപ്പ് സിസ്റ്റം. ഒരു ഇന്റർഫെയിസ് തരത്തിലുള്ള ഒരു വസ്തുവും മറ്റൊരു തരത്തിലുള്ളതാണ്, ഒരേസമയം സി++ ഒബ്ജക്റ്റുകൾ പോലെയാണ് അതിന്റെ അടിത്തറ ഒപ്പം ഡെറിവേഡ് ക്ലാസും. സ്മാൾടോക്ക് പ്രോഗ്രാമിങ് ഭാഷയിൽ നിന്നുള്ള പ്രോട്ടോകോളുകൾക്ക് ശേഷം ഗോ ഇൻറർഫേസുകൾ രൂപകൽപ്പന ചെയ്തിട്ടുണ്ട്.ഗോ ഇന്റർഫെയ്സുകളെ വിവരിക്കുമ്പോൾ ഡക്ക് ടൈപ്പിങ് എന്ന വാക്ക് ഒന്നിലധികം സ്രോതസ്സുകൾ ഉപയോഗിക്കുന്നുഡക്ക് ടൈപ്പിങ് എന്ന പദം കൃത്യമായി നിർവ്വചിച്ചിട്ടില്ലെന്നും അതുകൊണ്ടുതന്നെ തെറ്റാകുന്നില്ലെന്നും, അത് സാധാരണയായി തരം തിട്ടപ്പെടുത്തുന്നത് സ്ഥിരമായി പരിശോധിക്കില്ല എന്നാണ്. ഒരു ഗോ കമ്പൈലർ ഉപയോഗിച്ച് ഗോ ഇന്റർഫേസിന്റെ മാനദണ്ഡം സ്ഥിരമായി പരിശോധിക്കുന്നു(ഒരു തരം ദൃഢപ്രസ്താവം നടത്തുമ്പോൾ ഒഴികെ), ഗോ രചയിതാക്കൾ ഘടനാപരമായ ടൈപ്പിംഗ് എന്ന പദം ഇഷ്ടപ്പെടുന്നു.

ഒരു ഇന്റർഫെയിസ് ടൈപ്പിന്റെ നിർവ്വചനം ആവശ്യമുള്ള രീതികളെ പേര്, തരം എന്നിവ പ്രകാരം പട്ടികയിൽപ്പെടുത്തുന്നു. ഏതു തരത്തിലുള്ള T ഫങ്ഷനുകൾക്കായി, ഏത് തരത്തിലുളള ഫങ്ഷനുകൾ തമ്മിൽ പൊരുത്തപ്പെടുന്ന എല്ലാ വസ്തുക്കളും ഇന്റർഫേസ് ടൈപ്പ് , I ടൈപ്പിലുള്ള വസ്തുവാണ്. ടൈപ്പ് T ന്റെ നിർവ്വചനം ടൈപ്പ് I തിരിച്ചറിയാൻ (കൂടാതെ കഴിയില്ല). ഉദാഹരണത്തിന്, ആകൃതി, സ്ക്വയർ, സർക്കിൾ എന്നിവ നിർവ്വചിച്ചിട്ടുണ്ടെങ്കിൽ:

import "math"

type Shape interface {

type Square struct { // Note: no "implements" declaration

type Circle struct { // No "implements" declaration here either

ഒരു ചതുരാകൃതിയിലും ഒരു സർക്കിളിലും അന്തർലീനമായ ഒരു ആകൃതിയാണ്, അത് ഒരു ആകൃതിയിലുള്ള ടൈപ്പിംഗ് വേരിയബിളായി നൽകാം. ഔപചാരികഭാഷയിൽ, ഗോയുടെ ഇൻഫർമേഷൻ സിസ്റ്റം നാമമാത്ര ടൈപ്പിങിന് പകരം ഘടനാപരമായ രീതിയിൽ നൽകുന്നു. സംയോജിത ഇന്റർഫെയിസ് ഉണ്ടാക്കുന്നതിന്റെ ഫലമായി ഇന്റർഫെയിസുകൾക്ക് മറ്റ് ഇന്റർഫെയിസുകൾ ഉൾപ്പെടുത്താൻ കഴിയും ഇത് എംബഡ്ചെയ്ത ഇന്റർഫേസ് നടപ്പിലാക്കുന്ന രീതികളും പുതുതായി നിർവചിച്ച ഇൻറർഫേസ് ചേർക്കുന്ന രീതികളും ആവശ്യങ്ങൾ നിർവ്വഹിക്കുവാൻ പ്രാപ്തിയുള്ളതാണ്.

ഗോ അടിസ്ഥാന ലൈബ്രറി റീഡർ, റൈറ്റർ എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ള ഇൻപുട്ട് / ഔട്ട്പുട്ട് സിസ്റ്റം ഉൾപ്പെടെ നിരവധി സ്ഥലങ്ങളിൽ ജനറിസിറ്റി നൽകുന്നതിന് ഇന്റർഫേസ് ഉപയോഗിക്കുന്നു.

ഇന്റർഫെയ്സുകൾ വഴിയുള്ള രീതികൾ വിളിക്കുന്നതിനു പുറമേ, റൺ ടൈം ടൈപ്പ് പരിശോധന ഉപയോഗിച്ച് മറ്റ് തരങ്ങളുമായി ഇന്റർഫേസ് മൂല്യങ്ങൾ പരിവർത്തനം ചെയ്യാൻ അനുവദിക്കുന്നു. ഒന്നിലധികം തരങ്ങൾക്കെതിരായി പരിശോധിക്കുന്ന തരം ഏകീകരണം, , ടൈപ്പ് സ്വിച്ച്, എന്നിവ പരിശോധിക്കുന്ന തരത്തിലുള്ള ടൈപ്പുചെയ്യൽ, അങ്ങനെ ചെയ്യാൻ ഭാഷ നിർമ്മിക്കുന്നു.

ശൂന്യമായ ഇന്റർഫേസ് codice_14 ഒരു സുപ്രധാന അടിസ്ഥാന കേസ്സാണ്, കാരണം ഇത് ഒരു നിശ്ചിത തരത്തിലുള്ള ഒരു ഇനത്തെ സൂചിപ്പിക്കാൻ കഴിയും. ഇത് ജാവ അല്ലെങ്കിൽ സി# ലെ ഒബ്ജക്റ്റ് ക്ലാസുമായി സാമ്യമുള്ളതും ഏതെങ്കിലും തരവുമായി സ്റ്റാറ്റിഫൈഡാണ്, codice_15പോലുള്ള അന്തർനിർമ്മിത തരങ്ങൾ ഉൾപ്പെടെയുള്ളവ. ശൂന്യമായ ഇൻറർഫേസ് ഉപയോഗിച്ചുള്ള കോഡ്, പരാമർശിത വസ്തുവിനെ ലളിതമായ രീതികൾ (അല്ലെങ്കിൽ അന്തർനിർമ്മിത ഓപ്പറേറ്റർമാർ) വിളിക്കാൻ കഴിയില്ല, പക്ഷെ അതിനെcodice_14മൂല്യം സൂക്ഷിച്ചു്, ഒരു ടൈപ്പ് അസ്സേർഷൻ അല്ലെങ്കിൽ ടൈപ്പ് സ്വിച്ച് വഴി കൂടുതൽ പ്രയോജനപ്രദമായ തരത്തിലേക്കു് മാറ്റുവാൻ ശ്രമിയ്ക്കുക അല്ലെങ്കിൽ ഗോയുടെ codice_17 പാക്കേജിൽ ഇത് പരിശോധിക്കുക.codice_14ഏതൊരു മൂല്യത്തെയും സൂചിപ്പിയ്ക്കുന്നതിനാൽ, സ്റ്റാറ്റിക് ടൈപ്പിങിന്റെ നിയന്ത്രണത്തിൽ നിന്നും രക്ഷപ്പെടാൻ പരിമിതമായ മാർഗ്ഗമാണ് ഇത്, codice_19 എന്ന കോഡ് സിയിൽ ഉപയോഗിക്കുന്നത് പോലെ പക്ഷെ കൂടുതൽ റൺ ടൈം ടൈപ്പ് പരിശോധനകൾ കൂടി നടത്തുന്നു.

ഇന്റർഫെയിസ് മൂല്ല്യങ്ങൾ ഡാറ്റയിലേക്കുള്ള പോയിന്റും റൺ സമയ ടൈപ്പ് വിവരങ്ങൾക്കുള്ള രണ്ടാമത്തെ പോയിന്റും ഉപയോഗിച്ച് നടപ്പിലാക്കുന്നു. ഗോയിൽ പോയിന്ററുകൾ ഉപയോഗിച്ച് നടപ്പിലാക്കാവുന്ന മറ്റു ചില രീതികളെപ്പോലെ, അൺഇനിസൈലസെഡ് ചെയ്തിട്ടില്ലെങ്കിൽ ഇന്റർഫെയിസ് മൂല്ല്യങ്ങൾ ലഭ്യമല്ല.

നടപ്പിലാക്കൽ
സമാന്തര പ്രോഗ്രാമിംഗിനുള്ള അനുയോജ്യത
ബൈനറികൾ
ഇന്റർഫെയിസ് സിസ്റ്റം