Го је један од модерних програмских језика који добија на значају у многим анкетама јер су програмери преферирали језик. Го има синтаксу лаку за коришћење и разумевање, истовремено пружајући врхунске перформансе.
Можете да користите Го за прављење различитих апликација, од веб апликација до апликација на командној линији, услуга у облаку и умрежавања. Го-ов екосистем пакета трећих страна подржава многе друге случајеве употребе.
Го има већину функција које бисте очекивали у модерном језику: генеричке карактеристике, конкурентност, закључивање типа, сакупљање смећа и још много тога.
Почетак рада са Го
Можете покренути Го на већини оперативних система. Идите на страницу за инсталације и преузмите жељену Го верзију за свој оперативни систем.
Када преузмете и инсталирате Го, можете почните да пишете и покрећете Го код у фајловима са а .го екстензија датотеке.
Видећете да Го има већину функција и велики део функционалности других програмских језика. Ако имате претходно искуство у програмирању, требало би да пронађете Го страигхтфорвард.
Променљиве у Го
Го је прилично изражајан на фундаменталном нивоу. Постоје два начина на која можете декларисати променљиве у Го. Можете користити вар кључна реч за декларисање променљивих различитих типова података. Након што наведете идентификатор, мораћете да подесите тип података променљиве.
вар а низ
вар б инт
вар ц било који
вар старости низ = "пет година"
вар старост = 5// еквивалентно вар аге инт = 5
фмт. Принтлн (старост)
Можете користити било који као тип података ако нисте сигурни који је тип података променљиве.
Такође можете декларисати константе са конст кључну реч на сличан начин као и декларисање променљивих.
конст старост = "пет година"
Немогуће је модификовати константе након њихове декларације.
Го пружа алтернативни начин за декларисање променљивих у функцијама. Обратите пажњу на употребу двотачке испред знака једнакости:
фунцглавни() {
старост := "пет година" // еквивалентно вар аге = "пет година"
}
Услови у Го
Го такође има услове за доношење одлука у програмима. Можете користити ако и друго изјаве у вашем коду за руковање одлукама.
Ево примера ако изјава која пореди два цела броја ради једнакости:
вар а инт = 12
ако а == 12 {
фмт. Принтлн("а једнако дванаест")
}
Можете користити само друго изјаве након навођења ан ако изјаву, а ви морате да наведете друго блок након затварања ако блокирати:
вар а инт = 12
ако а == 12 {
фмт. Принтлн("а једнако дванаест")
} друго {
фмт. Принтлн("а није једнако дванаест")
}
Тхе друго блок се покреће само када се ако изјава се оцењује као нетачна. Го не пружа наредбе елсе-иф, али их можете користити прекидач искази за сложене условне исказе.
Ево анатомије а прекидач изјава у Го.
старост := 7
прекидач старост {
случај1:
фмт. Принтлн("један")
случај2:
фмт. Принтлн("два")
случај3:
фмт. Принтлн("три")
Уобичајено:
фмт. Принтлн("нула")
}
Можете креирати наредбе прекидача помоћу прекидач кључну реч, након чега можете навести различите случајеве помоћу случај кључна реч. Можете да рукујете подразумеваним великим словима помоћу а Уобичајено кључна реч.
За петље у Го
Го пружа фор-петље за задатке који се понављају, а за разлику од већине језика, у Го-у нема петље вхиле или до-вхиле.
Можете користити популарну за петљу у стилу Ц или домет фор-петља коју подржавају одређене структуре података.
Ево примера коришћења Ц-стила фор петље у Го програму:
фунцштампач() {
за ја := 0; и <= 3; и++ {
фмт. Принтлн (и)
}
}
Можете да користите Го-ов уграђени опсег фор-петље на сложеним структурама података као што су пресеци, мапе и низови. Тхе домет функција враћа индекс и елемент индекса док прелази структуру података.
за индекс, вредност := домет структура података {
}
Низови у Го
Низови су један од сложених типова података у Го. Го низови су слични низовима у Ц стилу и имају одређену дужину приликом декларације и инстанцирања.
Ево како можете да декларишете низове у Го:
вар арр [5]низ
арр := [7]инт{0, 1, 2, 3, 4, 5, 6}
Можете користити индексирање за приступ, додељивање и ажурирање елемената на позицији низа:
арр[3] = "три"
Код изнад ажурира или убацује стринг као четврти унос арр променљива низа.
Слицес ин Го
Го пружа исечке као алтернативу низовима за рад са подацима неограничене дужине. Исечци су слични низовима, осим што можете променити дужину пресека.
Мораћете да користите уграђени направити функција за креирање пресека. Проследите тип података пресека и почетну дужину у функцију маке.
слице := направити([]низ, 9)
комад [2] = "два"
Можете користити функцију додавања за уметање елемената у резове. Подразумевано, тхе додати функција убацује елементе на крај пресека.
слице = додати(парце, "десет")
Операције додавања на резовима могу бити скупе за рад јер Го креира нови низ за сваку операцију додавања.
Мапе у Го
Мапе су уграђени асоцијативни (пар кључ-вредност) тип података у Го. Можете користити направити функцију за креирање мапе или једноставне декларације где ћете морати да инстанцирате мапу.
мапе := направити(Мапа[низ]инт) // користећи функцију маке
мапе := Мапа[низ]инт{"један": 1, "два": 2, "три": 3} // декларисање и инстанцирање мапе
Можете приступити вредностима на мапи тако што ћете навести кључеве. Такође, можете да убаците вредности у мапу тако што ћете навести пар кључ-вредност.
мапс["један"] = 1// уметање у мапу
један := мапс["један"] // приступ елементу са мапе
Можете користити избрисати функција за уклањање парова кључ/вредност са мапа. Тхе избрисати функција узима идентификатор мапе и кључ пара који желите да уклоните:
избрисати(мапе, "један")
Функције у Го
Функције су алат за поновну употребу кода у Го. Можете декларисати функције помоћу фунц кључна реч праћена идентификатором функције:
фунцглавни() {
}
Функције могу да прихватају аргументе и враћају вредности. Мораћете да наведете тип аргумента поред идентификатора за аргументе.
фунцдодати(Икс низ, и инт)инт {
повратак к + и
}
Навести ћете тип повратка пре блока кода функције и вратити вредност наведеног типа за функције које враћају вредности.
Структуре у Го
Го није ан објектно оријентисани језик по дизајну, али можете имплементирати објектно оријентисане функције у Го користећи структуре.
Структуре су кориснички дефинисани типови за груписање других типова података у један ентитет. Го структуре могу да садрже вредности свих типова које подржава Го, а функције могу да имплементирају структуре.
Ево како можете декларисати структуру у Го:
тип Игра струцт {
Име низ
Година инт
ПлаиТиме флоат64
Играчи било који
Земље Мапа[низ]низ
}
Тхе Игра струцт има поља са типовима мапе, стринга, целог броја и помичног зареза. Можете инстанцирати структуре са подразумеваним вредностима или им доделити вредности.
вар мко Гаме // инстанцијација подразумеване вредности
// инстанцирање са вредностима
мко := игра{
Име: "Вредност",
година: 1231,
Време играња: 1345412,
Играчи: [2]низ{"9", "ствари"},
подаци: Мапа[низ]инт{"један": 1, "два": 2, "три": 2},
}
Функције могу имплементирати и приступити типовима структура. Мораћете да наведете параметар структуре пре идентификатора функције.
фунц(г игра)ФиндГаме(име низ) {
а := г. Година // приступ пољима структуре
вар б = г. Земље // приступ пољима структуре
}
Када проследите структуру функцији, функција има приступ пољима структуре, а функција постаје метод структуре.
Го има много случајева употребе
Научили сте основе програмског језика Го и синтаксу за почетак писања Го програма.
Постоји много поља и апликација у којима можете да користите Го. Го се популарно користи као језик на страни сервера, а помоћу њега увек можете да истражите и прављење веб апликација.