Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mencipta var jenis rentetan dalam Go

Mencipta var jenis rentetan dalam Go

WBOY
WBOYke hadapan
2024-02-10 11:57:09907semak imbas

Mencipta var jenis rentetan dalam Go

Dalam bahasa Go, mencipta pembolehubah jenis rentetan adalah sangat mudah. Dengan menggunakan kata kunci var, kita boleh mengisytiharkan dan memulakan pembolehubah rentetan. Contohnya, var str string = "Hello, World!" Pernyataan ini akan mencipta pembolehubah rentetan bernama str dan memulakannya kepada "Hello, World!". Selain itu, kita juga boleh menggunakan pengisytiharan pembolehubah pendek untuk mencipta pembolehubah rentetan, seperti: str := "Hello, World!" Sama ada menggunakan var atau pengisytiharan pembolehubah pendek, kita boleh menggunakan pembolehubah rentetan ini dalam kod berikutnya. Dalam Go, jenis rentetan ialah jenis data yang sangat biasa digunakan yang boleh menyimpan dan memanipulasi data teks. Dengan menggunakan kata kunci var atau pengisytiharan pembolehubah pendek, kita boleh mencipta pembolehubah jenis rentetan dan menggunakannya dalam program dengan mudah.

Kandungan soalan

Pertama sekali, saya ingin mengatakan bahawa saya agak baru dalam bahasa Go.

Atur cara saya mengambil CSV dan membaca setiap baris sebagai rentetan [] dan menambahkan semuanya pada kepingan. Bahagian lain program sepatutnya menambah entri lain pada kepingan yang mengandungi maklumat baharu, tetapi saya tidak tahu cara mengisytiharkan entri baharu sebagai jenis [] rentetan. Jika ia cuba menggunakan struct, kod, jenis []Customer tidak serasi dengan []jenis rentetan. Jika saya menukar []hirisan rentetan kepada jenis []Pelanggan pada mulanya, saya kehilangan keupayaan untuk menggunakan masa. Menghuraikan beberapa bahagian setiap entri. Saya tidak boleh mengisytiharkan entri baharu sebagai jenis [] rentetan. Adakah terdapat cara untuk melakukan ini? Kod untuk membaca CSV dan menambah pada kepingan jenis []rentetan.

var customerInfo [][]string

for {
    record, err := reader.Read()
    if err == io.EOF {
        break
    }
    if err != nil {
        panic(err)
    }
    customerInfo = append(customerInfo, record)
}

masa.Menghuraikan fungsi dan kod untuk mengemas kini lajur rentetan [].

today := time.Now()
for i, e := range customerInfo {
    if i > 0 {
        lastOilChange, err := time.Parse("2006-01-02", e[4])
        if err != nil {
            panic(err)
        }
        diff := today.Sub(lastOilChange)
        diffInMonths := float64(diff.Hours() / 24 / 30)
        if diffInMonths > 6 {
            e[6] = today.Format("2006-01-02")
        }
    }
}

Kod untuk menambah baris baharu pada CSV (satu-satunya bahagian yang tidak berfungsi pada masa ini)

var newCust []string = {"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}
customerInfo = append(customerInfo, newCust)

Ralat yang saya dapat apabila saya menjalankan program ini menggunakan kod yang menambah baris baharu pada CSV ialah

syntax error: unexpected {, expected expression

Penyelesaian

Teks majmukhilangtaip. Tambah jenis seperti ini:

var newCust []string = []string{"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}

Perhatikan yang kedua []string.

Tidak perlu ulang jenis. Gunakan kod ini:

var newCust = []string{"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}

malah lebih pendek:

newCust := []string{"1500", "Your Name", "Make Model", "City", "date1", "date2", "date3", "date4"}

Atas ialah kandungan terperinci Mencipta var jenis rentetan dalam Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam