كيفية تحويل سلسلة نصية إلى شريحة بايت ([]byte) في Go؟
مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة تبدو بسيطة، لكنني لا أستطيع إيجاد الحل الصحيح.
لدي سلسلة نصية:
s := "Hello, World!"
أحتاج إلى تحويلها إلى شريحة بايت []byte لتمريرها إلى دالة تقبل هذا النوع تحديداً. جربت عدة خيارات لكنها تسبب أخطاء في الترجمة أو panic.
إليك ما جربته:
package main
import "fmt"
func main() {
s := "Hello, World!"
// الخيار 1: مباشرة
var b []byte = s
fmt.Println(b)
// الخيار 2: عبر make و copy
b2 := make([]byte, len(s))
b2 = s
fmt.Println(b2)
}
الخيار الأول يعطي: cannot use s (type string) as type []byte in assignment. الثاني أيضاً لا يعمل: cannot use s (type string) as type []byte in assignment.
أفهم أن السلسلة النصية وشريحة البايت هما نوعان مختلفان