Как да изградите основен уеб сървър с помощта на 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 Server 2012

Научете за защитните стени, защитната стена на Windows на Windows Server 2012

Защитната стена на Windows с разширена защита е защитна стена, която работи на Windows Server 2012 и е активирана по подразбиране. Настройките на защитната стена в Windows Server 2012 се управляват в конзолата за управление на защитната стена на Windows.

Как да промените паролата за влизане в модема и рутера Vigor Draytek

Как да промените паролата за влизане в модема и рутера Vigor Draytek

Когато променят паролата на администраторската страница за вход на Vigor Draytek Modem и Router, потребителите ще ограничат неоторизиран достъп за промяна на паролата на модема, осигурявайки важна мрежова информация.

Как лесно да овърклокнете RAM с AMD Ryzen Master

Как лесно да овърклокнете RAM с AMD Ryzen Master

За щастие, потребителите на компютри с Windows, работещи с процесори AMD Ryzen, могат да използват Ryzen Master за лесно овърклокване на RAM, без да докосват BIOS.

7 начина за коригиране на грешки на лаптоп с Windows, които не се зареждат през USB-C

7 начина за коригиране на грешки на лаптоп с Windows, които не се зареждат през USB-C

USB-C портът се превърна в стандарт за пренос на данни, видео изход и зареждане на модерни лаптопи с Windows. Въпреки че това е удобно, може да бъде разочароващо, когато включите лаптопа си в USB-C зарядно устройство и то не се зарежда.

Как да коригирате грешката Cannot Create Service на Ultraviewer

Как да коригирате грешката Cannot Create Service на Ultraviewer

Грешката Cannot Create Service на Ultraviewer възниква, когато инсталираме софтуера с код на грешка 1072.

Как да поправите грешката да не се показва ID на Ultraviewer

Как да поправите грешката да не се показва ID на Ultraviewer

Грешката да не се показва ID на Ultraviewer ще засегне връзката с отдалечен компютър.

Как да използвате Ultraviewer за изпращане и получаване на файлове

Как да използвате Ultraviewer за изпращане и получаване на файлове

Ultraviewer управлява компютъра дистанционно и има режим за изпращане и получаване на файлове.

6 начина за постоянно изтриване на файлове в Windows

6 начина за постоянно изтриване на файлове в Windows

Обикновено, когато изтривате файл в Windows, файлът няма да бъде изтрит веднага, а ще бъде записан в кошчето. След това ще трябва да направите още една стъпка: изпразнете кошчето. Но ако не искате да правите тази втора стъпка, ще ви покажем как да изтриете файл за постоянно в статията по-долу.

Как тъмната мрежа влияе на сигурността?

Как тъмната мрежа влияе на сигурността?

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

Какво представлява вирусът Adrozek? Как да се предпазите от вируса Adrozek

Какво представлява вирусът Adrozek? Как да се предпазите от вируса Adrozek

Технически Adrozek не е вирус. Това е похитител на браузър, известен също като модификатор на браузъра. Това означава, че зловреден софтуер е бил инсталиран на вашия компютър без ваше знание.