Skip to main content

PROGRAMUOKI.LT

Programavimo kursai lietuviškai

Go
Go
Go programavimo kalba (naujas kursas)
Java
Java
Programavimo kalba Java
Mano projektai
Mano projektai
Projektai kuriuos kūriau
Nemokamos paslaugos
Nemokamos paslaugos
Nemokomos debesijos ir kt. paslaugos kūrėjams
Interfeisas

Informacija ruošiama 😃


M.Gzegozevskis...Less than 1 minuteGo programavimo kalbaGo
Įvedimas iš klaviatūros

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ą:


M.Gzegozevskis...About 2 minGo programavimo kalbaGo
Metodai

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).


M.Gzegozevskis...About 2 minGo programavimo kalbaGo
Ciklas

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).


M.Gzegozevskis...About 2 minGo programavimo kalbaGo
Funkcijos

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
}

M.Gzegozevskis...About 1 minGo programavimo kalbaGo
Išvedimas į ekraną

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ą

M.Gzegozevskis...About 1 minGo programavimo kalbaGo
Sąrašas ir žodynas

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] )
   }
}

M.Gzegozevskis...About 4 minGo programavimo kalbaGo
Operatoriai

Veiksmams su įvairiais tipais yra numatyti operatoriai:

Pagrinde operatoriai yra tokie patys kaip ir kitose programavimo kalbose:

  1. 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)
}

M.Gzegozevskis...About 2 minGo programavimo kalbaGo
Įvadas

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 pavadinimuprograma.
  • 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.


M.Gzegozevskis...About 2 minGo programavimo kalbaGo
2
3
4
5
...
7