Darbui su įvedimu iš klaviatūros naudojamas fmt paketas
Trys pagrindinės funkcijos teksto įvedimui iš klaviatūros:
- fmt.Scan(), nuskaitomas žodis
- fmt.Scanln(), nuskaitoma eilutė
- fmt.Scanf(), nuskaitome su formatu
Pavyzdys naudojant scan funkciją:
Go programvimo kalboje nėra klasių tačiau yra alternatyva naudoti metodus, kurie yra analogiška struktūra go struct (tipo praplėtimui papildymui nauju funkcionalumu) žinomu kaip funkcija praplėsti funkcionalumą (angl. Extension function). Bazinė struktūra labai panaši į funkciją tik turi papildomą parametrą, kuris yra kaip įvesties tipas (angl. Receiver).
Veiksmų kartojimas ciklais (angl. Looping)
Programavimo kalba Go turi tik vieną raktinį žodį for aprašyti ciklui.
Ciklo struktūra yra tokia initialization (pradinė reikšmė); condition (sąlyga); post (veiksmas po įvykdytos ciklo iteracijos).
Funkcijos
Go programavimo kalboje funkcija yra aprašoma naudojant raktažodį func
. Funkcijos aprašymas atrodo taip:
func funkcijos_vardas(Parametru-sarasas)(Grąžinama_reikšmė){
// funkcijos kūnas
}
Darbui su teksto išvedimu į ekraną naudojamas fmt paketas
Trys pagrindinės funkcijos su teksto išvedimui į ekraną:
- fmt.Print(), spausdiname vienoje eilutėje
- fmt.Println(), spausdiname vienoje eilutėje ir pereiname į kitą
- fmt.Printf(), spausdiname ir galime naudoti formatavimo žymes išvedant tekstą
Lygiagretumas programavimo kalboje Go (angl. Concurrency in Go)
Plačiau galite rasti šiuose šaltiniuose:
Masyvas arba sąrašas (angl. Array)
Fiksuoto dydžio duomenų struktūra sąrašas:
package main
import "fmt"
func main() {
// sukuriamas sąrašas iš float32 tipo reikšmių
var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
// sukuriamas sąrašas iš float32 tipo reikšmių neprivaloma [] nurodyti dydį
// inicijavimo metu bus automatiškai nustatomas dydis iš {} pateiktų elementų skaičiaus
var balance2 = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}
// Penktam sąrašo elementui priskiriame 50.0
// nes kreipiames pagal indeksą 4 (skaičiuojame nuo 0)
balance[4] = 50.0
var n [10]int /* n is an array of 10 integers */
var i,j int
/* initialize elements of array n to 0 */
for i = 0; i < 10; i++ {
n[i] = i + 100 /* set element at location i to i + 100 */
}
/* output each array element's value */
for j = 0; j < 10; j++ {
fmt.Printf("Element[%d] = %d\n", j, n[j] )
}
}
Veiksmams su įvairiais tipais yra numatyti operatoriai:
Pagrinde operatoriai yra tokie patys kaip ir kitose programavimo kalbose:
- Matematiniai operatoriai: +, -, *, /, %, ++, --. Pavyzdys naudojant matematinius operatorius:
package main
import "fmt"
func main() {
p:= 34
q:= 20
// Sudėties veiksmas
result1:= p + q
fmt.Printf("Result of p + q = %d", result1)
// Atimties veiksmas
result2:= p - q
fmt.Printf("\nResult of p - q = %d", result2)
// Daugybos veiksmas
result3:= p * q
fmt.Printf("\nResult of p * q = %d", result3)
// Dalybos veiksmas
result4:= p / q
fmt.Printf("\nResult of p / q = %d", result4)
// Liekanos skaičiavimas
result5:= p % q
fmt.Printf("\nResult of p %% q = %d", result5)
}
Pasirengimas darbui su programavimo kalba Go
Atsiųsti ir įdiegti Go programavimo kalbos SDK (angl. Software Development Kit): https://go.dev/
Komandinės eilutės komandų sąrašas
Įdiegūs Go SDK į pasirinktą OS sistemą (Windows, Linux, Mac OS).
Patikrintike ar sėkmingai įdiegėte Go SDK atvėrę komandinę eilutę įvesdami komandą:
go version
jeigu pranešimas teigiamas į ekraną bus išvesta Go programavimo kalbos versija ir papildoma informacija pvz:
go version go1.21.1 windows/amd64
Sekantis žingsnis sukurti pirmąjį projektą ir programą. Naudojant komandinę eilutę tai galite atlikti įvedę komandų rinkinį:
mkdir programa
cd programa
go mod init github.com/eif-courses/programa
- Įvykdžius komandą mkdir programa bus sukuriamas naujas katalogas pavadinimu
programa.
- Tada įvedama sekanti komanda cd programa, kurią įvykdžius pereiname į katalogą pavadinimu
programa.
- Įvykdžius go mod init github.com/eif-courses/programa komandą ekrane bus išvestas pranešimas apie sėkmingai sukurtą modulį:
go: creating new go.mod: module github.com/eif-courses/programa
programa kataloge bus sukurtas go.mod failas su prierašu module github.com/eif-courses/programa
, tai reiškia jog programa priklauso šiam moduliui.
ir jeigu dalinsitės su kitais programuotojais šis modulis bus pasiekiamas per github.com/eif-courses/programa adresą.
Sukurti sveikas pasaulį programą pakanka sukurti naują failą pavadinimu main.go komandinėje eilutėje įvedant:
"package main" > main.go
Einamajame kataloge bus sukurtas failas main.go į kurį bus įrašytas tekstas package main, tai reiškia jog šis failas priklauso šiam katalogui.
Sekantis žingsnis atidaryti failą main.go su pasirinktu tekstiniu redaktoriu pvz. nano, notepad, vscode ar kt. Ir jame suvesti programinį kodą:
package main
import "fmt"
// Pagrindinė funkcija main kuri startuoją Go programą
func main() {
// Funkcija skirta išvesti tekstą į ekraną.
fmt.Print("Sveikas Pasauli!")
}
- package main - Pagrindinės programos failas visada yra pažymimas
kaip main katalogas (package) ir turi main funkciją kaip startinį
programos failą, kurio tikslas iškaidyti programos struktūrą į
atskirtus katalogus pagal paskirtį - import "fmt" - Standartinė biblioteka darbui su:
- įvedimo iš klaviatūros;
- išvedimo į ekraną funkcijomis.
Tada komandinėje eilutėje įvesti komandą:
go run main.go
Jeigu viskas tvarkoje ekrane bus išvestas tekstas:
Sveikas Pasauli!
Jeigu gaunate klaidos pranešimą su NUL žodžiu tada reikia įsitikinti ar dokumentas main.go yra išsaugos UTF-8 koduotėje.
Sekantis veiksmas pasirinkti tekstinį redaktorių arba programavimo aplinką ir atidaryti sukurtą katalogą programa
.