Avatar ·

كيفية تنفيذ طلب GET وجمع QueryString بشكل صحيح في Go؟

مرحباً بالجميع! أنا مبتدئ في Go وأحاول تنفيذ طلب GET إلى API يتطلب معاملات في سلسلة الاستعلام (query string). على سبيل المثال، أحتاج إلى إرسال طلب إلى `https://api.example.com/search?q=golang&page=1&limit=10`. حاولت القيام بذلك يدوياً، ببساطة عن طريق لصق السلسلة النصية، لكن هذا يبدو سيئاً وغير صحيح على ما يبدو: ```go package main import ( "fmt" "io/ioutil" "net/http" ) func main() { url := "https://api.example.com/search?q=" + "golang" + "&page=" + "1" + "&limit="10" resp, err := http.Get(url) if err != nil { panic(err) } defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) } ``` أولاً، هذا غير آمن: إذا كان في المعامل `q` مسافات أو أحرف خاصة