Как да изградите основен уеб сървър с помощта на Go

Как да изградите основен уеб сървър с помощта на Go

Go е интересен програмен език за изграждане на модерни уеб приложения, както и системен софтуер. Той предизвика огромен шум след пускането си и захранва услуги като Docker, Kubernetes, Terraform, Dropbox и Netflix .

Освен това стабилната колекция от вградени пакети на Go го прави чудесен избор за уеб програмиране. Тази статия ще ви покаже как да напишете основен уеб сървър в Go.

Импортирайте необходимите пакети

Пакетът net/HTTP предоставя всичко необходимо за създаване на уеб сървър и клиент. Този пакет представя някои полезни функции за работа с уеб програмиране.

Можете да го импортирате, като добавите реда по-долу в началото на вашия изходен код:

import "net/http"

Статията също ще използва пакета fmt за форматиране на низове и пакета log за обработка на грешки. Можете да ги импортирате поотделно, както е показано по-горе, или да импортирате всички пакети с помощта на един оператор за импортиране:

import (
"fmt"
"log"
"net/http"
)

Можете да продължите с писането на основната функция, след като импортирате необходимите пакети. Продължете и запишете изходния файл с разширението .go . Ако използвате Vim , използвайте командата по-долу, за да запазите и излезете от Vim:

:wq server.go

Напишете основната функция

Go програмите се намират директно в основната функция, уместно наречена "main". Тук ще трябва да се обадите на сървъра . Добавете следните редове към изходния код и вижте какво правят:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

Примерът е дефиниране на основната функция чрез ключовата дума func . Go има строги правила относно поставянето на отварящата скоба, така че се уверете, че началната скоба е на правилната линия. Първият израз в main дефинира, че всички уеб заявки към главния път ( "/" ) ще се обработват от индекс, функция от тип http.HandlerFunc .

Вторият ред стартира уеб сървъра чрез функцията http.ListenAndServe . Той сигнализира на сървъра непрекъснато да слуша за входящи HTTP заявки на порт 8080 на сървъра. Вторият параметър на тази функция е необходим за блокиране на програмата до края.

Тъй като http.ListenAndServe винаги връща грешка, примерът обвива това извикване в log.Fatal call . Този оператор регистрира всички съобщения за грешка, генерирани от страната на сървъра.

Внедрете функции за обработка

Както можете да видите, основната функция извиква индекса на манипулаторната функция, за да обработва клиентските заявки. Въпреки това, примерът все още не е дефинирал тази функционалност за своя сървър.

Нека добавим необходимите изрази, за да направим индексната функция използваема:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

Тази функция приема два различни аргумента от тип http.ResponseWriter и http.Request . Параметърът http.ResponseWriter съдържа отговора на сървъра на входящата заявка под формата на http.Request обект .

Функцията Fprintf от пакета fmt се използва за показване и манипулиране на текстови низове. Статията използва това, за да покаже отговора на сървъра на уеб заявки. И накрая, елементът r.URL.Path[1:] се използва за извличане на данни след основния път.

Добавете всички останали части

Вашият Go уеб сървър ще бъде готов, след като добавите всички останали компоненти. Кодът ще изглежда така:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

Първият ред е необходим за компилиране на този код на Go уеб сървър като изпълним файл.

Как да изградите основен уеб сървър с помощта на Go

Компилирайте кода на този уеб сървър на Go като изпълним файл


Инсталирайте динамични екрани и анимирани тапети на Windows

Инсталирайте динамични екрани и анимирани тапети на Windows

В операционната система Windows Vista на Microsoft DreamScene позволява настройка на динамични фонове за компютри, но осем години по-късно все още не е наличен в Windows 10. Защо този обичай представлява връщане към миналото през годините и какво можем да направим, за да променим това?

Как да свържете мрежата между 2 лаптопа с помощта на мрежов кабел

Как да свържете мрежата между 2 лаптопа с помощта на мрежов кабел

Ако искаме да свържем два лаптопа към мрежата, можем да използваме мрежов кабел и след това да променим IP адресите на двата компютъра и това е всичко.

Как да коригирате Нямате разрешение да записвате в това местоположение в Windows

Как да коригирате Нямате разрешение да записвате в това местоположение в Windows

Когато Windows покаже грешката „Нямате разрешение да записвате в това местоположение“, това ще ви попречи да записвате файлове в желани папки.

Топ най-добрият безплатен и платен софтуер Syslog Server за Windows

Топ най-добрият безплатен и платен софтуер Syslog Server за Windows

Syslog Server е важна част от арсенала на ИТ администратора, особено когато става въпрос за управление на регистрационни файлове на събития в централизирано местоположение.

Какво е грешка 524 Възникна изчакване и как да коригирате грешката

Какво е грешка 524 Възникна изчакване и как да коригирате грешката

Грешка 524: Възникна изчакване е специфичен за Cloudflare HTTP статус код, който показва, че връзката със сървъра е затворена поради изчакване.

Какво е грешка 0x80070570? Как да поправя тази грешка?

Какво е грешка 0x80070570? Как да поправя тази грешка?

Кодът за грешка 0x80070570 е често срещано съобщение за грешка на компютри, лаптопи и таблети, работещи с операционна система Windows 10. Той обаче се появява и на компютри, работещи под Windows 8.1, Windows 8, Windows 7 или по-стари версии.

Инструкции за коригиране на грешката на синия екран PAGE FAULT IN NONPAGED AREA или STOP 0x00000050

Инструкции за коригиране на грешката на синия екран PAGE FAULT IN NONPAGED AREA или STOP 0x00000050

Грешка в син екран на смърт BSOD PAGE_FAULT_IN_NONPAGED_AREA или STOP 0x00000050 е грешка, която често възниква след инсталиране на драйвер на хардуерно устройство или след инсталиране или актуализиране на нов софтуер и в някои случаи причината е, че грешката се дължи на повреден NTFS дял.

Какво да направите, когато получите вътрешна грешка на Video Scheduler?

Какво да направите, когато получите вътрешна грешка на Video Scheduler?

Вътрешната грешка на Video Scheduler също е смъртоносна грешка на синия екран, тази грешка често се появява в Windows 10 и Windows 8.1. Тази статия ще ви покаже някои начини за отстраняване на тази грешка.

Как да предотвратите стартирането на Epic Launcher с Windows

Как да предотвратите стартирането на Epic Launcher с Windows

За да направите Windows 10 зареждане по-бързо и да намалите времето за зареждане, по-долу са стъпките, които трябва да следвате, за да премахнете Epic от Windows Startup и да предотвратите стартирането на Epic Launcher с Windows 10.

3 по-добри начина за запазване на файлове на работния плот

3 по-добри начина за запазване на файлове на работния плот

Не трябва да записвате файлове на работния плот. Има по-добри начини да съхранявате компютърни файлове и да поддържате работния си плот подреден. Следващата статия ще ви покаже по-ефективни места за запазване на файлове в Windows 10.