Сегодня я представляю вам пример простой веб-программы на Go. Программа принимает параметр name переданный в GET запросе и приветствует пользователя. В программе представлен пример обслуживания http-запроса с помощью пакета net/http. Также в программе использован пакет flag для обработки параметров командной строки, передаваемых программе при запуске - в нашем случае программа обрабатывает флаг port и прослушивает запросы по указанному порту.
package main
import (
"flag"
"fmt"
"log"
"net/http"
)
var PORT = flag.Int("port", 15001, "listen port")
func Hello(w http.ResponseWriter, r *http.Request) {
keys, ok := r.URL.Query()["name"]
if !ok || len(keys[0]) < 1 {
log.Println("Url параметр 'name' пропущен")
return
}
// Query()["key"] будет возвращать массив элементов,
// нам нужен только один элемент.
key := keys[0]
log.Println("Url параметр 'name': " + string(key))
message := "Hello, " + string(key) + "!"
head := "
Пример сборки и запуска (из папки где находится файл hello.go с исходным кодом программы):
go build
./hello // для Linux
go build
hello.exe // для Windows
Пример запроса:
Читайте также:
- Go примеры: Fizz buzz
- Веб-приложение на Go
- Веб-приложение на Go: введение в пакет net/http, пример веб-сервера на Go
Комментариев нет:
Отправить комментарий