içinde kullanmalı mıyım? Yeni bir ServeMux oluşturup http.Server
'a kaydettirmem mi yoksa http.HandleFunc
ve http.Handler
numaralarını doğrudan mi çağırmalıyım?ServeMux veya http golang
Bir ServeMux ile olan yolun daha iyi olduğunu düşünüyorum, çünkü http.HandleFunc
, Go'nun kötü uygulaması olarak kabul edilen HTTP paketinin genel durumuyla bariz bir şekilde karışıyor. Ancak, birçok öğreticiler, hatta resmi olanlar, sık sık http.HandleFunc
rota kullanılıyor görüyoruz.
Bu beni meraklandırıyor: Bir ServeMux
varken neden bir http.HandleFunc
kullanmalıyım? ServeMux'un bazı avantajlara sahip olduğunu biliyorum (örneğin, her zaman öneki tekrarlamadan onu yerleştirebilirsiniz), ama özellikle HandleFunc
, ServeMux
dahili olarak kullanıldığından neden çoğullayıcı üzerinden http.HandleFunc
'u seçmem gerektiğini merak ediyorum.
Düzenleme: yorumlarda söz verildiği gibi, Golang-dev numaralı ek (ve yararsız IMO işlevlerini) kullanımdan kaldırmayı istedim ve hayır dediler (iyi, kişi hayır dedi). Here is the link.
(vardır burayı sorulan bu yüzden: Ben de önce) – elithrar
elithrar geldi çünkü bu iyi bir soru ve gelecekte başkaları için faydalı bir biri olduğunu söylemek istedim. Google'da hiçbir şey bulamadım. Imo, 'http.HandleFunc' ve' http.Handle', sonra kullanımdan kaldırılmalıdır. Server' sadece 2 fazla satır ekler ve belirsizlik daha belirgin bir şekilde "kötü yol" olduğunu, özellikle de her zaman kötü 'a Mux' kullanma ve. – Matt3o12
GO1 uyumluluk söz çıkarılmasına imkân vermemektedir, bu yüzden (çok uzak gibi olduğu - yaş) "2.0" kadar onlarla 'sıkışmış' ediyoruz. – elithrar