Програмски језик Го је доста еволуирао од када је први пут објављен 2009. године. Го 1.18 је био дуго очекивано издање због подршке за генеричке лекове и многих других важних ажурирања.
Го је објавио верзију 1.18 у марту 2022. Ево укратко најзначајнијих промена.
Подршка за генеричке производе
Генеричко програмирање вам омогућава да пишете функције које могу прихватити и вратити флексибилније типове.
Пре подршке за генеричке лекове, морали сте да експлицитно наведете типове параметара и типове враћања. Најједноставнији облик генерика вам омогућава да наведете неоткуцане параметре:
фунцПринтАнитхинг[Т било који](стварТ) {
фмт.Принтлн(ствар)
}
Али генерици нуде много више снаге од само овога. Можете декларисати скоро сваку комбинацију и грануларност типа за параметре. На пример, можете користити ограничења пакет за писање функције која ради на било којој вредности коју можете наручити. Ово укључује инт, флоатс и стрингове. Ево примера који показује синтаксу:
увоз "голанг.орг/к/екп/цонстраинтс"
фунц
Макс[Т ограничења. Наручено](улазни[]Т) (макТ) {
за _, в := унос опсега {
ако в > мак {
мак = в
}
}
повратак мак
}
Имајте на уму да ова функција користи генерички тип, ограничења. Наручено, да декларише свој параметар и његов тип враћања.
Генерици обезбеђују несигурност и флексибилност кода. Генерички предлог и измене су компатибилни унатраг.
Фузз Тестинг
Фузинг је а техника тестирања софтвера који потврђује програм са погрешним, неочекиваним или непредвидивим подацима.
Тхе тестирање пакет уводи фузз у 1.18, тако да да бисте дефинисали фузз, морате да га увезете из стандардне библиотеке:
увоз "тестирање"
Након увоза тестирање пакет, можете проследити идентификатор типа *тестирање. Ф на тестну функцију.
фунцтестФунц(ф *тестирање. Ф) {
// ваш код
}
Фуззинг генерише улазне параметре за тестирање кода. Исход фузинга је непредвидив пошто улази нису кориснички дефинисани. Фуззинг би требало да вам помогне да напишете боље тестове кода и ухватите грешке за које нисте знали да постоје.
Го Воркспаце Суппорт
Радни простори су директоријуми сличног изворног кода који чине пројекат или већу јединицу. Радни простори олакшавају управљање кодом и отклањање грешака груписањем сличног кода на основу функционалности.
Уобичајено, Го пројекте делите на изворни код (срц) и извршне датотеке (бин). Го алатни ланац гради изворни код из првог у извршне датотеке у другом. Го радни простори омогућавају програмерима да раде са више радних простора користећи Го модуле са одређеним главним модулом.
Команда за креирање радног простора је:
$ иди на посао <команда>
Користити рад команда са подкомандама као што су:
- у томе → креира радни простор у наведеном директоријуму.
- користити → додаје нови модул за го.ворк, датотеку радног простора го.
- Уредити → уређује датотеку радног простора го.
- синхронизовати → синхронизује зависности са листе израде са модулима радног простора.
Укључивање радних простора за рад повећало би продуктивност како је планирано у развоју језика.
Побољшања перформанси
Иди верзија 1.18 сада подржава АРМ64 Аппле М1 и 64-битни ПоверПЦ у конвенцији АБИ позива. Ово резултира повећањем од преко 10% у перформансама процесора за кориснике ових уређаја.
Декларисане и некоришћене променљиве у функцијама се сада евидентирају као грешке при компилацији програма.
Тхе иди градити команда, заједно са другим сродним командама, подржава -асан флаг, који подржава интероперабилност са Ц/Ц++. Ово ће помоћи Го програмерима да користе Го програме са Ц и Ц++ програмима.
Остала важна ажурирања
Тхе Иди да узмеш команда више не инсталира пакете у режиму који је свестан модула, што је велика промена у односу на то када сте ви први пут је почео са Го. Тхе иди инсталирај команда замењује добити за прилагођавање зависности модула у радним просторима.
Пошто провера типа сада обрађује генеричке лекове, поруке о грешци могу да се евидентирају другачије него у претходним верзијама.
Време потребно за компајлирање програма може бити спорије у верзији 1.18. Али ово неће утицати на време извршења када Го компајлира ваш програм.
Можете пронаћи све детаље о свим најновијим променама у напоменама о издању за Иди 1.18.
Го 1.18 има неколико различитих додатака
Користећи Го 1.18, сада можете писати генерички код, ефикасно тестирати помоћу фуззинга и пребацивати се између Го модула користећи радне просторе. Можете чак и написати код који ради у спрези са Ц и Ц++ програмима.
Да ли је Голанг данас вредан учења?
Реад Нект
Повезане теме
- Програмирање
- Програмирање
- Програмски језици
О аутору
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили