Go kullanarak temel bir web sunucusu nasıl oluşturulur

Go, modern web uygulamaları ve sistem yazılımı oluşturmak için ilginç bir programlama dilidir. Piyasaya sürülmesinden sonra büyük ses getirdi ve Docker, Kubernetes, Terraform, Dropbox ve Netflix gibi hizmetleri güçlendirdi .

Ayrıca Go'nun güçlü yerleşik paket koleksiyonu, onu web programlama için mükemmel bir seçim haline getiriyor. Bu makale size Go'da temel bir web sunucusunun nasıl yazılacağını gösterecektir .

Gerekli paketleri içe aktarın

Net/HTTP paketi, bir web sunucusu ve istemcisi oluşturmak için gereken her şeyi sağlar. Bu paket, web programlamayı yönetmek için bazı yararlı işlevler sunar.

Aşağıdaki satırı kaynak kodunuzun başına ekleyerek içe aktarabilirsiniz:

import "net/http"

Makale ayrıca dizeleri biçimlendirmek için fmt paketini ve hataları işlemek için log paketini kullanacak. Bunları yukarıda gösterildiği gibi tek tek içe aktarabilirsiniz veya tek bir içe aktarma ifadesi kullanarak tüm paketleri içe aktarabilirsiniz:

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

Gerekli paketleri içe aktardıktan sonra ana fonksiyonu yazmaya devam edebilirsiniz. Devam edin ve kaynak dosyayı .go uzantısıyla kaydedin . Vim kullanıyorsanız , Vim'i kaydedip çıkmak için aşağıdaki komutu kullanın:

:wq server.go

Ana işlevi yazın

Go programları doğrudan "ana" olarak adlandırılan ana işlevin içinde bulunur. Burada bir sunucu araması yapmanız gerekecek . Aşağıdaki satırları kaynak koduna ekleyin ve ne yaptıklarını görün:

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

Örnek, func anahtar sözcüğünü kullanarak ana işlevi tanımlamaktır . Go'nun açılış parantezinin konumuyla ilgili katı kuralları vardır, bu nedenle başlangıç ​​parantezinin doğru çizgide olduğundan emin olun. Main'deki ilk ifade, kök yola ( "/" ) gönderilen tüm web isteklerinin http.HandlerFunc türünde bir işlev olan indeks tarafından ele alınacağını tanımlar .

İkinci satır, http.ListenAndServe işlevi aracılığıyla web sunucusunu başlatır . Sunucuya, sunucunun 8080 numaralı bağlantı noktasından gelen HTTP isteklerini sürekli olarak dinlemesi sinyalini verir. Bu fonksiyonun ikinci parametresi programın sonuna kadar bloke edilmesi için gereklidir.

http.ListenAndServe her zaman bir hata döndürdüğünden , örnek bu çağrıyı bir log.Fatal çağrısının içine sarar . Bu ifade, sunucu tarafında oluşturulan tüm hata mesajlarını günlüğe kaydeder.

İşleme fonksiyonlarını uygulayın

Gördüğünüz gibi ana işlev, istemci isteklerini işlemek için işleyici işlev dizinini çağırır. Ancak örnek, sunucusu için bu işlevselliği henüz tanımlamamıştır.

İndeks fonksiyonunu kullanılabilir hale getirmek için gerekli ifadeleri ekleyelim:

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

Bu işlev http.ResponseWriter ve http.Request türünde iki farklı bağımsız değişken alır . http.ResponseWriter parametresi, sunucunun gelen isteğe verdiği yanıtı http.Request nesnesi biçiminde içerir .

Fmt paketindeki Fprintf işlevi, metin dizelerini görüntülemek ve değiştirmek için kullanılır. Makale bunu sunucunun web isteklerine yanıtını görüntülemek için kullanıyor. Son olarak r.URL.Path[1:] öğesi , kök yoldan sonraki verileri getirmek için kullanılır.

Kalan tüm parçaları ekleyin

Kalan tüm bileşenleri ekledikten sonra Go web sunucunuz hazır olacaktır. Kod şöyle görünecek:

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))
}

Bu Go web sunucusu kodunu yürütülebilir bir dosya olarak derlemek için ilk satır gereklidir.

Go kullanarak temel bir web sunucusu nasıl oluşturulur

Bu Go web sunucusu kodunu yürütülebilir bir dosya olarak derleyin

Yorum bırak

Windows 10da ekranın sağ köşesindeki telif hakkı isteği bildirimi nasıl kaldırılır

Windows 10da ekranın sağ köşesindeki telif hakkı isteği bildirimi nasıl kaldırılır

Ekranın sağ köşesinde bir Windows 10 etkinleştirme bildirimi görüyor musunuz? Bu makale, Windows 10'da telif hakkı isteği bildirimini nasıl sileceğiniz konusunda size rehberlik edecektir.

Windows 10 build 14393.222nin nasıl kurulacağına ilişkin Adan Zye talimatlar

Windows 10 build 14393.222nin nasıl kurulacağına ilişkin Adan Zye talimatlar

Microsoft yakın zamanda Windows 10 PC kullanıcıları için Derleme 14393.222 adlı en son toplu güncelleştirmeyi yayımladı. Windows 10 için yayımlanan bu güncelleme, esas olarak kullanıcı geri bildirimlerine dayalı olarak hataları düzeltiyor ve işletim sisteminin performans deneyimini geliştiriyor.

Bilgisayar ağınızı Bastion ana bilgisayarıyla yalnızca 3 adımda koruyun

Bilgisayar ağınızı Bastion ana bilgisayarıyla yalnızca 3 adımda koruyun

Yerel ağınızda harici erişime ihtiyaç duyan bilgisayarlarınız var mı? Ağınız için bir kale ana bilgisayarını ağ geçidi denetleyicisi olarak kullanmak iyi bir çözüm olabilir.

Windows 10daki tüm olay günlüklerini hızla temizlemenin 3 yolu

Windows 10daki tüm olay günlüklerini hızla temizlemenin 3 yolu

Bazen eski olay günlüklerinin tamamını bir kerede silmeniz gerekebilir. Bu kılavuzda Quantrimang.com, Windows 10 Olay Görüntüleyicisi'ndeki tüm olay günlüklerini hızlı bir şekilde silmenin 3 yolunu gösterecektir.

Klavyeniz kullanılamıyorsa Windows tuşu nasıl oluşturulur

Klavyeniz kullanılamıyorsa Windows tuşu nasıl oluşturulur

IBM Model M gibi fiziksel bir Windows tuşu içermeyen eski bir klasik klavye kullanmayı tercih ederseniz, sık kullanmadığınız bir anahtarı ödünç alarak daha fazlasını eklemenin kolay bir yöntemi vardır.

Windows 10da şeffaf arka plan modu nasıl oluşturulur

Windows 10da şeffaf arka plan modu nasıl oluşturulur

WindowTop, Windows 10 bilgisayarlarda çalışan tüm uygulama pencerelerini ve programlarını karartma özelliğine sahip bir araçtır.Ya da pencerelerde koyu arka planlı bir arayüz kullanabilirsiniz.

Sahte IP yöntemleri anonim olarak erişmenize yardımcı olur

Sahte IP yöntemleri anonim olarak erişmenize yardımcı olur

Daha önceki birçok makalemizde çevrimiçi ortamda anonim kalmanın son derece önemli olduğundan bahsetmiştik. Özel bilgilerin her yıl sızdırılması, çevrimiçi güvenliği giderek daha gerekli hale getiriyor. Sanal IP adreslerini kullanmamızın nedeni de budur. Aşağıda sahte IP'ler oluşturma yöntemlerini öğreneceğiz!

Windows 8 görev çubuğunda dil çubuğunu nasıl kapatılır

Windows 8 görev çubuğunda dil çubuğunu nasıl kapatılır

Windows 8'deki dil çubuğu, masaüstü ekranında otomatik olarak görüntülemek için tasarlanmış minyatür bir dil araç çubuğudur. Ancak, birçok kişi bu dil çubuğunu görev çubuğuna gizlemek istiyor.

Linksysten İnternet bağlantı hızını optimize etmeye yönelik ipuçları

Linksysten İnternet bağlantı hızını optimize etmeye yönelik ipuçları

İnternet hızını en üst düzeye çıkarmak, ağ bağlantınızı optimize etmek için çok önemlidir. Bilgisayarları, internete hazır TV'leri, oyun konsollarını vb. kullanarak en iyi eğlence ve iş deneyimini yaşayabilirsiniz.

Linksys yönlendirici için WEP, WPA, WPA2 nasıl kurulur

Linksys yönlendirici için WEP, WPA, WPA2 nasıl kurulur

Kablosuz bağlantı günümüzde bir zorunluluktur ve bu nedenle dahili ağınızın güvenliğini sağlamak için kablosuz güvenlik şarttır.