Go Programming Language – startujemy!

Każdy projekt opiera się na jakiś filarach. Dlatego na samym początku przedstawię wam język Go, który wybrałem do tworzenia backendu mojej aplikacji Shopping Manager.

Ogólny zarys języka Go

Go (nazywany też Golang) to język napisany przez pracowników Google. Pierwsza wersja języka została opublikowana w listopadzie 2009 roku. Podczas projektowania architekci wyraźnie nawiązali do tradycji języka C, starając się przy tym urzeczywistnić wizję, by język był prosty w nauce, szybki i elastyczny. W Go zasady OOP schodzą na dalszy plan. W skrajnych przypadkach może to prowadzić do rozleniwienia programisty, w większości jednak pozwala przyspieszyć czas dewelopmentu.

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software

Zamysł i idea twórców przekonały również mnie. Po stworzeniu kilku pierwszych endpointów poczułem moc drzemiącą w tym niepozornym i niezbyt popularnym języku.

Instalacja i pierwsze kroki

Hello World

Sam proces instalacji jest bardzo prosty i szczegółowo opisany w oficjalnym tutorialu. Wystartowanie zajmuje zaledwie kilkanaście minut i jesteśmy w stanie napisać sztandarowe “Hello World” w Golang.

Wystartowanie naszej aplikacji to odpalenie w konsoli komendy go run hello_world.go. Składnia jest bardzo przystępna. Na samej górze nazwa pakietu, później importy oraz funkcja główna. Prawda, że proste?

Get method

Napisanie metody zwracającej listę produktów to kilka kolejnych linijek. Na początku deklarujemy strukturę produktu. Nasz produkt na razie składać się będzie tylko z dwóch pól ID i Name. Jako że chcemy operować na tablicy, będziemy potrzebować drugiej struktury opisujący właśnie tablicę produktów.

Sama metoda getProducts to zwykły handler restowy. Lista produktów jest na razie uzupełniana w tym miejscu, docelowo będzie pobierana  z bazy danych. Dzięki metodzie json.NewEncoder możemy zwrócić dane bezpośrednio do przeglądarki.

Serwer HTTP

Zwieńczeniem naszej pracy będzie zaprezentowanie danych na lokalnym porcie 8080. Wykorzystamy do tego pakiet http.

Teraz po wpisaniu w konsoli go run main.go i wejściu na http://localhost:8080/api/product naszym oczom ukaże się efekt naszej pracy.

Podsumowanie

Głównym powodem wybrania przeze mnie języka Go do tego projektu była prostota i możliwe jak największe przyspieszenie mojej pracy. Pierwsze kroki z Golang utwierdzają mnie w tym wyborze. Zdaję sobie sprawę z tego, że schody się zaczną, prędzej czy później. Technologia, którą wybrałem do swojego backendu dopiero pokaże pazurki. Nie ma się co jednak przejmować na zapas.

Na koniec jeszcze kod w całości:

 

Dawid Ryłko

Lubię dobre filmy, gry oraz kawę. W pracy front-end, po godzinach wszystko inne.

 
  • de

    Są jakieś (darmowe…marzenie, co?) serwery hostingujące tą technologię?

  • DigitalOcean, Heroku i Google Cloud Compute Engine. Jest tego całkiem sporo, ale o darmowych nie słyszałem. Chyba, że w grę wchodzi jakiś trial.

Współpraca:
Polski Front-End