Rumah >pembangunan bahagian belakang >Golang >Akses rentetan yang terkandung dalam kepingan
editor php Xiaoxin di sini untuk memperkenalkan cara mengakses rentetan yang terkandung dalam kepingan. Dalam PHP, penghirisan merujuk kepada operasi memintas sebahagian daripada aksara daripada rentetan. Dengan mengakses rentetan dalam kepingan, kami boleh mendapatkan data yang diperlukan atau melakukan operasi lain. Apabila menggunakan penghirisan, kita perlu menentukan kedudukan permulaan dan kedudukan penamat untuk mendapatkan rentetan yang sepadan. Menguasai penggunaan kepingan akan membawa kemudahan besar kepada kerja pembangunan kami. Seterusnya, mari belajar secara terperinci cara mengakses rentetan yang terkandung dalam kepingan!
Saya sedang melakukan beberapa latihan pengekodan untuk memahami dengan lebih baik. Latihan yang diberikan mengarahkan saya untuk mencipta program yang menerima input pengguna seperti berikut:
Saya ingin mengeluarkan aksara yang sepadan dengan indeks genap dan ganjil bagi setiap rentetan, dipisahkan oleh ruang dan dengan setiap rentetan pada baris yang berasingan.
Contoh input:
2 foo_bar fizz_buzz
seharusnya mengeluarkan:
fobr o_a fz_uz izbz
Tetapi mengakses kepingan rentetan dalam program saya mengembalikan rentetan kosong:
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
Kerana apabila anda make
strings
menghiris, anda sedang mencipta kepingan dengan kapasiti dan panjang daripada n. Oleh itu, apabila anda menambahnya, anda menambah panjang kepingan:
Tukar kod ini:
// 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) }
Kepada:
// 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) }
atau
// 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 }
Anda harus berada pada tingkah laku terbaik anda.
Atas ialah kandungan terperinci Akses rentetan yang terkandung dalam kepingan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!