Програмски језик Го је доста еволуирао од када је први пут објављен 2009. године. Го 1.18 је био дуго очекивано издање због подршке за генеричке лекове и многих других важних ажурирања.

Го је објавио верзију 1.18 у марту 2022. Ево укратко најзначајнијих промена.

Подршка за генеричке производе

Генеричко програмирање вам омогућава да пишете функције које могу прихватити и вратити флексибилније типове.

Пре подршке за генеричке лекове, морали сте да експлицитно наведете типове параметара и типове враћања. Најједноставнији облик генерика вам омогућава да наведете неоткуцане параметре:

фунцПринтАнитхинг[Т било који](стварТ) {
фмт.Принтлн(ствар)
}

Али генерици нуде много више снаге од само овога. Можете декларисати скоро сваку комбинацију и грануларност типа за параметре. На пример, можете користити ограничења пакет за писање функције која ради на било којој вредности коју можете наручити. Ово укључује инт, флоатс и стрингове. Ево примера који показује синтаксу:

увоз "голанг.орг/к/екп/цонстраинтс"

фунц

instagram viewer
Макс[Т ограничења. Наручено](улазни[]Т) (макТ) {
за _, в := унос опсега {
ако в > мак {
мак = в
}
}

повратак мак
}

Имајте на уму да ова функција користи генерички тип, ограничења. Наручено, да декларише свој параметар и његов тип враћања.

Генерици обезбеђују несигурност и флексибилност кода. Генерички предлог и измене су компатибилни унатраг.

Фузз Тестинг

Фузинг је а техника тестирања софтвера који потврђује програм са погрешним, неочекиваним или непредвидивим подацима.

Тхе тестирање пакет уводи фузз у 1.18, тако да да бисте дефинисали фузз, морате да га увезете из стандардне библиотеке:

увоз "тестирање"

Након увоза тестирање пакет, можете проследити идентификатор типа *тестирање. Ф на тестну функцију.

фунцтестФунц(ф *тестирање. Ф) {
// ваш код
}

Фуззинг генерише улазне параметре за тестирање кода. Исход фузинга је непредвидив пошто улази нису кориснички дефинисани. Фуззинг би требало да вам помогне да напишете боље тестове кода и ухватите грешке за које нисте знали да постоје.

Го Воркспаце Суппорт

Радни простори су директоријуми сличног изворног кода који чине пројекат или већу јединицу. Радни простори олакшавају управљање кодом и отклањање грешака груписањем сличног кода на основу функционалности.

Уобичајено, Го пројекте делите на изворни код (срц) и извршне датотеке (бин). Го алатни ланац гради изворни код из првог у извршне датотеке у другом. Го радни простори омогућавају програмерима да раде са више радних простора користећи Го модуле са одређеним главним модулом.

Команда за креирање радног простора је:

$ иди на посао <команда>

Користити рад команда са подкомандама као што су:

  • у томе → креира радни простор у наведеном директоријуму.
  • користити → додаје нови модул за го.ворк, датотеку радног простора го.
  • Уредити → уређује датотеку радног простора го.
  • синхронизовати → синхронизује зависности са листе израде са модулима радног простора.

Укључивање радних простора за рад повећало би продуктивност како је планирано у развоју језика.

Побољшања перформанси

Иди верзија 1.18 сада подржава АРМ64 Аппле М1 и 64-битни ПоверПЦ у конвенцији АБИ позива. Ово резултира повећањем од преко 10% у перформансама процесора за кориснике ових уређаја.

Декларисане и некоришћене променљиве у функцијама се сада евидентирају као грешке при компилацији програма.

Тхе иди градити команда, заједно са другим сродним командама, подржава -асан флаг, који подржава интероперабилност са Ц/Ц++. Ово ће помоћи Го програмерима да користе Го програме са Ц и Ц++ програмима.

Остала важна ажурирања

Тхе Иди да узмеш команда више не инсталира пакете у режиму који је свестан модула, што је велика промена у односу на то када сте ви први пут је почео са Го. Тхе иди инсталирај команда замењује добити за прилагођавање зависности модула у радним просторима.

Пошто провера типа сада обрађује генеричке лекове, поруке о грешци могу да се евидентирају другачије него у претходним верзијама.

Време потребно за компајлирање програма може бити спорије у верзији 1.18. Али ово неће утицати на време извршења када Го компајлира ваш програм.

Можете пронаћи све детаље о свим најновијим променама у напоменама о издању за Иди 1.18.

Го 1.18 има неколико различитих додатака

Користећи Го 1.18, сада можете писати генерички код, ефикасно тестирати помоћу фуззинга и пребацивати се између Го модула користећи радне просторе. Можете чак и написати код који ради у спрези са Ц и Ц++ програмима.

Да ли је Голанг данас вредан учења?

Реад Нект

ОбјавиТвеетОбјавиЕмаил

Повезане теме

  • Програмирање
  • Програмирање
  • Програмски језици

О аутору

МУО Стафф

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили