Sobes.tech
Senior

// Frage 1. Was wird auf dem Bildschirm angezeigt? package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }

sobes.tech KI

Antwort von AI

Dieser Code wird nicht kompiliert und führt zu einem Kompilierungsfehler.

Der Grund ist, dass Strings in Go unveränderliche Byte-Slices sind. Der Versuch, ein einzelnes Byte in einer String, wie in s[0] = 'h', zu ändern, ist nicht möglich und führt zu einem Fehler vom Typ "cannot assign to s[0]".

Wenn Sie eine String ändern möchten, sollten Sie sie in ein Byte- oder Rune-Slice umwandeln, das erforderliche Element ändern und dann wieder in eine String umwandeln:

package main

import "fmt"

func main() {
    s := "Hello world"
    b := []byte(s)
    b[0] = 'h'
    s = string(b)
    fmt.Println(s) // gibt "hello world" aus
}