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

Mencipta var jenis rentetan dalam Go

WBOY
Lepaskan: 2024-02-10 11:57:09
ke hadapan
958 orang telah melayarinya

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)
}
Salin selepas log masuk

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")
        }
    }
}
Salin selepas log masuk

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)
Salin selepas log masuk

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

syntax error: unexpected {, expected expression
Salin selepas log masuk

Penyelesaian

Teks majmukhilangtaip. Tambah jenis seperti ini:

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

Perhatikan yang kedua []string.

Tidak perlu ulang jenis. Gunakan kod ini:

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

malah lebih pendek:

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

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

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan