Jadual Kandungan
1 🎜>Susun atur ialah himpunan elemen daripada jenis data yang sama. Dalam bahasa Go, tatasusunan ditentukan dari masa pengisytiharan, dan ahli tatasusunan boleh diubah suai semasa digunakan, tetapi saiz tatasusunan tidak boleh diubah. Sintaks asas:
① Apabila memulakan tatasusunan, anda boleh menggunakan senarai permulaan untuk menetapkan nilai elemen tatasusunan.
Susun suai a Ada dua kaedah berikut:
Bahasa Go menyokong tatasusunan berbilang dimensi contoh (dalam tatasusunan dan tatasusunan bersarang).
Tatasusunan ialah jenis nilai, dan penugasan serta hantaran parameter akan menyalin keseluruhan tatasusunan. Oleh itu, menukar nilai salinan tidak akan mengubah nilai dirinya sendiri.
Rumah pembangunan bahagian belakang Golang Analisis ringkas tatasusunan di Golang

Analisis ringkas tatasusunan di Golang

Nov 29, 2022 pm 09:00 PM
go golang hujung belakang

Artikel ini akan mengajar anda tentang Golang dan bercakap tentang tatasusunan dalam asas bahasa Go. Saya harap ia akan membantu anda.

Analisis ringkas tatasusunan di Golang

[Cadangan tutorial pengaturcaraan: Pengajaran pengaturcaraan]

1 🎜>Susun atur ialah himpunan elemen daripada jenis data yang sama. Dalam bahasa Go, tatasusunan ditentukan dari masa pengisytiharan, dan ahli tatasusunan boleh diubah suai semasa digunakan, tetapi saiz tatasusunan tidak boleh diubah. Sintaks asas:

Panjang kumpulan mestilah malar dan panjang adalah sebahagian daripada jenis tatasusunan. Setelah ditentukan, panjangnya tidak boleh diubah. Tatasusunan

// 定义一个长度为3元素类型为int的数组a
var a [3]int
Salin selepas log masuk

boleh diakses melalui subskrip. Subskrip bermula dari

Subskrip elemen terakhir ialah:
var a [3]int
var b [4]int
a = b //不可以这样做,因为此时a和b是不同的类型
Salin selepas log masuk
(subskrip berada di luar julat undang-undang ), maka Jika akses luar sempadan dicetuskan, panik akan berlaku.

0len-12. Permulaan tatasusunan

① Apabila memulakan tatasusunan, anda boleh menggunakan senarai permulaan untuk menetapkan nilai elemen tatasusunan.

② Ikuti kaedah di atas untuk memastikan bahawa nilai awal yang diberikan adalah konsisten dengan panjang tatasusunan Secara umumnya, kita boleh membiarkan pengkompil membuat kesimpulan panjang tatasusunan berdasarkan bilangan nilai awal .

func main() {
	var testArray [3]int                        //数组会初始化为int类型的零值
	var numArray = [3]int{1, 2}                 //使用指定的初始值完成初始化
	var cityArray = [3]string{"北京", "上海", "深圳"} //使用指定的初始值完成初始化
	fmt.Println(testArray)                      //[0 0 0]
	fmt.Println(numArray)                       //[1 2 0]
	fmt.Println(cityArray)                      //[北京 上海 深圳]
}
Salin selepas log masuk

Kita juga boleh memulakan tatasusunan dengan menyatakan nilai indeks

func main() {
	var testArray [3]int
	var numArray = [...]int{1, 2}
	var cityArray = [...]string{"北京", "上海", "深圳"}
	fmt.Println(testArray)                          //[0 0 0]
	fmt.Println(numArray)                           //[1 2]
	fmt.Printf("type of numArray:%T\n", numArray)   //type of numArray:[2]int
	fmt.Println(cityArray)                          //[北京 上海 深圳]
	fmt.Printf("type of cityArray:%T\n", cityArray) //type of cityArray:[3]string
}
Salin selepas log masuk

3 Tatasusunan traversal
func main() {
	a := [...]int{1: 1, 3: 5}
	fmt.Println(a)                  // [0 1 0 5]
	fmt.Printf("type of a:%T\n", a) //type of a:[4]int
}
Salin selepas log masuk

Susun suai a Ada dua kaedah berikut:

4. Tatasusunan berbilang dimensi
func main() {
	var a = [...]string{"北京", "上海", "深圳"}
	// 方法1:for循环遍历
	for i := 0; i < len(a); i++ {
		fmt.Println(a[i])
	}

	// 方法2:for range遍历
	for index, value := range a {
		fmt.Println(index, value)
	}
}
Salin selepas log masuk

Bahasa Go menyokong tatasusunan berbilang dimensi contoh (dalam tatasusunan dan tatasusunan bersarang).

Takrif tatasusunan dua dimensi

Perjalanan tatasusunan dua dimensi
func main() {
	a := [3][2]string{
		{"北京", "上海"},
		{"广州", "深圳"},
		{"成都", "重庆"},
	}
	fmt.Println(a) //[[北京 上海] [广州 深圳] [成都 重庆]]
	fmt.Println(a[2][1]) //支持索引取值:重庆
}
Salin selepas log masuk

Nota :
func main() {
	a := [3][2]string{
		{"北京", "上海"},
		{"广州", "深圳"},
		{"成都", "重庆"},
	}
	for _, v1 := range a {
		for _, v2 := range v1 {
			fmt.Printf("%s\t", v2)
		}
		fmt.Println()
	}
}


输出:

北京	上海	
广州	深圳	
成都	重庆
Salin selepas log masuk
Tatasusunan berbilang dimensi

Hanya tahap pertama boleh menggunakan untuk membenarkan pengkompil menyimpulkan panjang tatasusunan ...

5 jenis nilai
//支持的写法
a := [...][2]string{
	{"北京", "上海"},
	{"广州", "深圳"},
	{"成都", "重庆"},
}
//不支持多维数组的内层使用...
b := [3][...]string{
	{"北京", "上海"},
	{"广州", "深圳"},
	{"成都", "重庆"},
Salin selepas log masuk

Tatasusunan ialah jenis nilai, dan penugasan serta hantaran parameter akan menyalin keseluruhan tatasusunan. Oleh itu, menukar nilai salinan tidak akan mengubah nilai dirinya sendiri.

petua:

func modifyArray(x [3]int) {
	x[0] = 100
}

func modifyArray2(x [3][2]int) {
	x[2][0] = 100
}
func main() {
	a := [3]int{10, 20, 30}
	modifyArray(a) //在modify中修改的是a的副本x
	fmt.Println(a) //[10 20 30]
	b := [3][2]int{
		{1, 1},
		{1, 1},
		{1, 1},
	}
	modifyArray2(b) //在modify中修改的是b的副本x
	fmt.Println(b)  //[[1 1] [1 1] [1 1]]
}
Salin selepas log masuk

Array menyokong pengendali "==", "!=" kerana memori sentiasa dimulakan.
  • mewakili tatasusunan penuding, dan
  • mewakili penuding tatasusunan.

    [n]*T*[n]T

  • Tamat:

Ingatkan saya sekali lagi, jika anda perlu sertai , anda boleh menambah saya di WeChat

, jika anda perlu menyertai jurutera hadapan untuk berkomunikasi Kumpulan

, perlu memasuki kumpulan komunikasi go backend 技术交流群fangdongdong_25备注“前端” [Cadangan berkaitan: 备注“go后端”Tutorial video Go

]

Atas ialah kandungan terperinci Analisis ringkas tatasusunan di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk membaca dan menulis fail dengan selamat menggunakan Golang? Bagaimana untuk membaca dan menulis fail dengan selamat menggunakan Golang? Jun 06, 2024 pm 05:14 PM

Membaca dan menulis fail dengan selamat dalam Go adalah penting. Garis panduan termasuk: Menyemak kebenaran fail Menutup fail menggunakan tangguh Mengesahkan laluan fail Menggunakan tamat masa konteks Mengikuti garis panduan ini memastikan keselamatan data anda dan keteguhan aplikasi anda.

Bagaimana untuk mengkonfigurasi kolam sambungan untuk sambungan pangkalan data Golang? Bagaimana untuk mengkonfigurasi kolam sambungan untuk sambungan pangkalan data Golang? Jun 06, 2024 am 11:21 AM

Bagaimana untuk mengkonfigurasi pengumpulan sambungan untuk sambungan pangkalan data Go? Gunakan jenis DB dalam pakej pangkalan data/sql untuk membuat sambungan pangkalan data untuk mengawal bilangan maksimum sambungan serentak;

Bagaimana untuk menggunakan gomega untuk penegasan dalam ujian unit Golang? Bagaimana untuk menggunakan gomega untuk penegasan dalam ujian unit Golang? Jun 05, 2024 pm 10:48 PM

Cara menggunakan Gomega untuk penegasan dalam ujian unit Golang Dalam ujian unit Golang, Gomega ialah perpustakaan penegasan yang popular dan berkuasa yang menyediakan kaedah penegasan yang kaya supaya pembangun boleh mengesahkan keputusan ujian dengan mudah. Pasang Gomegagoget-ugithub.com/onsi/gomega Menggunakan Gomega untuk penegasan Berikut ialah beberapa contoh biasa menggunakan Gomega untuk penegasan: 1. Import penegasan kesamaan "github.com/onsi/gomega" funcTest_MyFunction(t*testing.T){

Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang? Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang? Jun 06, 2024 am 11:24 AM

Data JSON boleh disimpan ke dalam pangkalan data MySQL dengan menggunakan perpustakaan gjson atau fungsi json.Unmarshal. Pustaka gjson menyediakan kaedah kemudahan untuk menghuraikan medan JSON dan fungsi json.Unmarshal memerlukan penuding jenis sasaran kepada data JSON unmarshal. Kedua-dua kaedah memerlukan penyediaan pernyataan SQL dan melaksanakan operasi sisipan untuk mengekalkan data ke dalam pangkalan data.

Rangka Kerja Golang lwn Rangka Kerja Go: Perbandingan Seni Bina Dalaman dan Ciri Luaran Rangka Kerja Golang lwn Rangka Kerja Go: Perbandingan Seni Bina Dalaman dan Ciri Luaran Jun 06, 2024 pm 12:37 PM

Perbezaan antara rangka kerja GoLang dan rangka kerja Go ditunjukkan dalam seni bina dalaman dan ciri luaran. Rangka kerja GoLang adalah berdasarkan perpustakaan standard Go dan meluaskan fungsinya, manakala rangka kerja Go terdiri daripada perpustakaan bebas untuk mencapai tujuan tertentu. Rangka kerja GoLang lebih fleksibel dan rangka kerja Go lebih mudah digunakan. Rangka kerja GoLang mempunyai sedikit kelebihan dalam prestasi dan rangka kerja Go lebih berskala. Kes: gin-gonic (rangka Go) digunakan untuk membina REST API, manakala Echo (rangka kerja GoLang) digunakan untuk membina aplikasi web.

Bagaimana untuk mencari subrentetan pertama dipadankan dengan ungkapan biasa Golang? Bagaimana untuk mencari subrentetan pertama dipadankan dengan ungkapan biasa Golang? Jun 06, 2024 am 10:51 AM

Fungsi FindStringSubmatch mencari subrentetan pertama dipadankan dengan ungkapan biasa: fungsi mengembalikan hirisan yang mengandungi subrentetan yang sepadan, dengan elemen pertama ialah keseluruhan rentetan dipadankan dan elemen berikutnya ialah subrentetan individu. Contoh kod: regexp.FindStringSubmatch(teks,corak) mengembalikan sekeping subrentetan yang sepadan. Kes praktikal: Ia boleh digunakan untuk memadankan nama domain dalam alamat e-mel, contohnya: e-mel:="user@example.com", pattern:=@([^\s]+)$ untuk mendapatkan padanan nama domain [1].

Berubah dari front-end ke pembangunan back-end, adakah lebih menjanjikan untuk belajar Java atau Golang? Berubah dari front-end ke pembangunan back-end, adakah lebih menjanjikan untuk belajar Java atau Golang? Apr 02, 2025 am 09:12 AM

Laluan Pembelajaran Backend: Perjalanan Eksplorasi dari Front-End ke Back-End sebagai pemula back-end yang berubah dari pembangunan front-end, anda sudah mempunyai asas Nodejs, ...

Bagaimana untuk menggunakan zon waktu yang telah ditetapkan dengan Golang? Bagaimana untuk menggunakan zon waktu yang telah ditetapkan dengan Golang? Jun 06, 2024 pm 01:02 PM

Menggunakan zon waktu yang dipratentukan dalam Go termasuk langkah berikut: Import pakej "masa". Muatkan zon waktu tertentu melalui fungsi LoadLocation. Gunakan zon waktu yang dimuatkan dalam operasi seperti mencipta objek Masa, menghuraikan rentetan masa dan melaksanakan penukaran tarikh dan masa. Bandingkan tarikh menggunakan zon waktu yang berbeza untuk menggambarkan aplikasi ciri zon waktu yang telah ditetapkan.

See all articles