Avatar ·

Go में स्ट्रिंग को बाइट स्लाइस ([]byte) में कैसे बदलें?

सभी को नमस्ते! मैंने अभी Go सीखना शुरू किया है और एक ऐसी समस्या का सामना किया है जो बुनियादी लगती है, लेकिन मुझे सही समाधान नहीं मिल रहा है।

मेरे पास एक स्ट्रिंग है:

s := "Hello, World!"

मुझे इसे बाइट स्लाइस []byte में बदलना है, ताकि इसे एक फंक्शन में पास कर सकूं जो इसी प्रकार को स्वीकार करता है। मैंने कई विकल्प आज़माए, लेकिन वे कंपाइलेशन एरर या पैनिक दे रहे हैं।

मैंने यह प्रयास किया:

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।

मैं समझता हूं कि स्ट्रिंग और बाइट स्लाइस अलग-अलग प्रकार हैं।