Heim >Backend-Entwicklung >Golang >Greifen Sie auf die in einem Slice enthaltene Zeichenfolge zu
php-Editor Xiaoxin ist hier, um vorzustellen, wie man auf die im Slice enthaltene Zeichenfolge zugreift. Unter Slicing versteht man in PHP den Vorgang des Abfangens eines Teils von Zeichen aus einer Zeichenfolge. Durch den Zugriff auf die Zeichenfolgen im Slice können wir die erforderlichen Daten abrufen oder andere Vorgänge ausführen. Bei der Verwendung von Slicing müssen wir die Start- und Endposition angeben, um die entsprechende Zeichenfolge zu erhalten. Die Beherrschung der Verwendung von Slices wird unsere Entwicklungsarbeit erheblich erleichtern. Als nächstes lernen wir im Detail, wie man auf die im Slice enthaltene Zeichenfolge zugreift!
Ich mache einige Codierungsübungen, um Go besser zu verstehen. Die gegebene Übung weist mich an, ein Programm zu erstellen, das Benutzereingaben wie folgt akzeptiert:
Ich möchte die Zeichen ausgeben, die den geraden und ungeraden Indizes jeder Zeichenfolge entsprechen, durch Leerzeichen getrennt und jede Zeichenfolge in einer separaten Zeile.
Eingabebeispiel:
2 foo_bar fizz_buzz
sollte Folgendes ausgeben:
fobr o_a fz_uz izbz
Aber der Zugriff auf das String-Slice in meinem Programm gibt einen leeren String zurück:
package main import ( "fmt" ) func main() { // read an integer describing how many strings will be input var num_strings int fmt.scan(&num_strings) // create a slice of strings to hold provided strings strings := make([]string, num_strings) // add provided strings to slice for i := 0; i < num_strings; i++ { var temp string fmt.scan(&temp) strings = append(strings, temp) } // check that strings have been appended fmt.println("strings:", strings) // check that strings can be accessed for i := 0; i < num_strings; i++ { fmt.println(i, strings[i]) // only i prints, not strings[i] } // loop over all strings for i := 0; i < num_strings; i++ { // if string index is even print the char for index, val := range strings[i] { if index%2 == 0 { fmt.print(val) } } fmt.print(" ") // if string index is odd print the char for index, val := range strings[i] { if index%2 != 0 { fmt.print(val) } } // newline for next string fmt.print("\n") } }
2 foo_bar fizz_buzz Strings: [ foo_bar fizz_buzz] 0 1
Denn wenn Sie make
strings
einen Slice erstellen, erstellen Sie einen Slice, dessen Kapazität und Länge n beträgt. Wenn Sie also daran anhängen, erhöhen Sie die Länge des Slice:
Ändern Sie diesen Code:
// create a slice of strings to hold provided strings strings := make([]string, num_strings) // add provided strings to slice for i := 0; i < num_strings; i++ { var temp string fmt.scan(&temp) strings = append(strings, temp) }
An:
// create a slice of strings to hold provided strings strings := []{} // add provided strings to slice for i := 0; i < num_strings; i++ { var temp string fmt.scan(&temp) strings = append(strings, temp) }
oder
// create a slice of strings to hold provided strings strings := make([]string, num_strings) // add provided strings to slice for i := 0; i < num_strings; i++ { var temp string fmt.Scan(&temp) strings[i] = temp }
Du solltest dich von deiner besten Seite zeigen.
Das obige ist der detaillierte Inhalt vonGreifen Sie auf die in einem Slice enthaltene Zeichenfolge zu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!