Avatar ·

كيفية تحويل string إلى []byte في Go؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة. أحتاج إلى كتابة سلسلة نصية في مصفوفة بايتات، وبشكل أدق — في شريحة `[]byte`. أعلم أن السلاسل النصية في Go هي تسلسل غير قابل للتغيير من البايتات بترميز UTF-8، وأن شريحة البايتات هي بنية قابلة للتغيير. لكنني لا أفهم كيفية ربطهما. إليك ما جربته: ```go package main import "fmt" func main() { var s string = "Hello, Go!" var b []byte // المحاولة الأولى: مجرد تعيين b = s // خطأ: cannot use s (type string) as type []byte in assignment // المحاولة الثانية: إنشاء شريحة ونسخ b = make([]byte, len(s)) copy(b, s) // هذا نجح، لكنني لست متأكدًا إذا كان صحيحًا fmt.Println(b) } ``` السؤال: كيف يمكن تحويل سلسلة نصية إلى شريحة بايتات بشكل صحيح وفعال؟ هل هناك طريقة قياسية يستخدمها مطورو Go ذوو الخبرة؟ ولماذا لا تعمل المحاولة الأولى، مع أن السلسلة النصية تتكون بالفعل من بايتات؟ شكرًا مقدمًا على المساعدة! <<>>

البر