Kategorie
Programowanie w Go

Kurs programowania w Go – Lekcja 1 {Golang; Go-lang}

Jaka jest składania języka Go? Czym jest programowanie imperatywne? Co to jest biblioteka standardowa? W jaki sposób wydrukować tekst na ekranie. Gdzie pisać kod w języku programowania Go {Go-lang}? Sprawdź fundamenty programowania w Go {Golang}

W tym krótkim wpisie będziemy uczyć się programować w Go!

Dlaczego Go?

W powyższym poście opisuję, między innymi, czym wyróżnia się Golang spośród innych popularnych języków programowania, jak Python bądź JavaScript. Czy, w 2022 roku, warto zacząć się uczyć programować w Go. Gdzie wykorzystywany jest język programowania Go-lang.

Kim jestem?

W skrócie, zamierzam zostać Junior Go Developerem w ciągu następnych 4 miesięcy. Więc jeśli będziesz kontynuować ze mną naukę, na blogu, to już za jakiś czas będziemy zarabiać około 6 tysięcy złotych netto miesięcznie.

Ponieważ dopiero zaczynamy naszą naukę, warto zastanowić się nad poniższymi zagadnieniami:

Jaka jest najnowsza wersja Golang?

Najnowszą wersją języka programowania Go jest 1.18.

Czym jest programowanie imperatywne?

Programowanie imperatywne polega na żądaniu wykonania jakieś czynności.

Programy imperatywne składają się z ciągu komend do wykonania przez komputer.

Wikipedia

Czym jest biblioteka standardowa?

Biblioteka zawierająca podstawowe funkcje, dostarczana z kompilatorem lub interpreterem danego języka programowania.

Wikipedia

Jakie są operatory matematyczne w Go?

+, -, *, / i % (modulo, tj. oblicza resztę z dzielenia dwóch liczb całkowitych, np. 42 / 10 = 4,2 – modulo zwróci 2).

Jak wstawiamy komentarze?

// (wszystko w tym wierszu będzie interpretowane jako komentarz).

Gdzie będziemy pisać kod?

Program możemy zacząć pisać na „placu zabaw” Go, tj. Go Playground. Powyższe środowisko nie wymaga od nas instalowania żadnych kompilatorów, ustawiania ścieżek itp. Od razu po wejściu na stronę Go Playground możemy zacząć uczyć się programować w języku Go.

Jaka jest składania języka Go?

Pisząc program w języku Go warto mieć na uwadze, iż domyślnym kodowaniem znaków jest format UTF-8.

Napiszmy „coś”!

package main // deklarujemy pakiet main (z biblioteki standardowej (pakiet uruchomieniowy, zawiera funkcję main())
import "fmt" // importujemy pakiet (w innym pakiecie (main)) „fmt” (format), który będziemy używać w kodzie
func main() {
	fmt.Print("coś")
}

Wynik:

coś
Program exited.

W powyższy sposób napisaliśmy nasz pierwszy program w Golang!

Warto w tym miejscu wspomnieć, iż w funkcji Print możemy przekazać nieskończenie wiele argumentów rozdzielonych przecinkami. Jaki typ danych mogą przyjąć wstawiane argumenty? Funkcja jako argument (konkretną wartość) może przyjąć tekst, tj. string, np. „coś”, liczbę bądź wyrażenie arytmetyczne.

Przykład:

fmt.Println(„coś”, 12, 12*2, (12*2)/3)

Jakich funkcji w pakiecie fmt możemy użyć do wyświetlania tekstu?

  • Print
  • Println – automatycznie przechodzi do kolejnego wiersza
  • Printf – pierwszym argumentem jest zawsze tekst. Możemy wstawiać wartości w dowolnym miejscu wyświetlanego tekstu (pierwszego argumentu {wraz z dalszą nauką stanie się zrozumiałe}).

Reasumując, jakie są różnice pomiędzy powyższymi funkcjami pakietu fmt?

W funkcji Printf – możemy użyć kodu formatującego {%v}.

Przykład:

fmt.Printf(„Mam %v cm wzrostu”, 172)

Inny przykład:

fmt.Printf(„w miejsce kodu formatującego, tj. %v wstawiana jest wartość z kolejnego parametru funkcji (zmienna bądź stała będą częścią prototypu funkcji).”, „kod formatujący”)

Istnieją również inne kody formatujące.

W powyższych przykładzie do pierwszego wpisanego kodu formatującego przekazywany będzie pierwszy argument funkcji występujący po stringu.

Podczas gdy, funkcje Print i Println nie mogą przyjmować „czasownika” – w ten sposób programiści nazywają kody formatujące w Go.

Sprawdźmy na przykładzie:

package main

import "fmt"

func main() {
	fmt.Println("Hello World")
	fmt.Println("Hello %v", "World")
	fmt.Print("Hello %v", "World", "\n")
	fmt.Printf("Hello %v", "World")
}

Jaki dostaniemy wynik?

Hello World
Hello %v World
Hello %vWorld
Hello World

Jak widać w powyższym przykładzie, tylko funkcja Printf może przyjmować kod formatujący, w przeciwieństwie do Print i Println.

Dodatkowo można zauważyć, iż funkcja Println automatycznie dodanie odstęp pomiędzy argumentami.

Przykład:

package main

import "fmt"

func main() {
	fmt.Println("Hello %v", "World", 5, "coś")
	fmt.Print("Hello %v", "World", 5, "coś")
}

Jaki będzie wynik?

Hello %v World 5 coś
Hello %vWorld5coś

Printf za pomocą kodu formatującego, tj. %v może pomóc w wyrównaniu tekstu, ponieważ elementem kodu formatującego może być szerokość, tj. {%4v}.

Jak powyższy kod formatujący zachowa się w przypadku gdy wartość podstawiana {w miejsce czasownika} ma więcej niż szerokość 4 znaków?

Przykład:

package main

import "fmt"

func main() {
	fmt.Printf("kod formatujący dopełniający szerokość %4v", "czte")
}

Wynik:

kod formatujący dopełniający szerokość czte

Jeśli argument podstawiany w miejscu kodu formatującego ma szerokość 4 znaków, to nie zostaną dodane odstępy.

Przykład:

package main

import "fmt"

func main() {
	fmt.Printf("kod formatujący dopełniający szerokość %15v", "coś")
}

Wynik:

kod formatujący dopełniający szerokość             coś

%15v – jeśli mamy liczbę dodatnią to wartość zostanie dopełniona znakami spacji po lewej stronie.

%-15v – jeśli mamy liczbę ujemną w kodzie formatującym, to wartość zostanie dopełniona znakami spacji po prawej stronie.

Przykład:

package main

import "fmt"

func main() {
	fmt.Printf("kod formatujący dopełniający szerokość %-15v czy będę daleko?", "coś")
}

Wynik:

kod formatujący dopełniający szerokość coś             czy będę daleko?

Krótkie podsumowanie

Pisząc program w języku programowania Go musimy zacząć od zadeklarowania pakietu main {package main), znajdującego się w bibliotece standardowej. Następnie udostępniamy pakiet, który będziemy wykorzystywać w kodzie. Ciało naszego programu umieszczamy w funkcji main (func main() { }), pomiędzy nawiasami klamrowymi. Pakiet fmt format) importujemy, w celu użycia zaimplementowanych w nim funkcji Print, Println i Printf, które służą do wyświetlania tekstu i liczb na ekranie. Jakie są Twoje odczucia w odniesieniu do Go? Jak podoba Ci się język programowania w Go? Podziel się swoją opinią w komentarzu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *