Jadual Kandungan
Apakah itu tatasusunan" >Apakah itu tatasusunan
数组初始化" >

数组初始化

数组遍历
" >数组遍历
多维数组
" >多维数组
二维数组" >二维数组
定义一个二维数组" >定义一个二维数组
循环二维数组
" >循环二维数组
多维数组是否可以长度推导
" >多维数组是否可以长度推导
Rumah pembangunan bahagian belakang Golang Artikel untuk membantu anda memahami asas tatasusunan bahasa Go

Artikel untuk membantu anda memahami asas tatasusunan bahasa Go

Jul 19, 2023 pm 04:33 PM
golang

Apakah itu tatasusunan

Ringkasan saya: Pembolehubah yang menunjuk kepada sekeping berterusan , mempunyai panjang daripada jenis yang sama secebis kenangan. .

var 变量名 [元素个数]元素类型
Salin selepas log masuk

Artikel untuk membantu anda memahami asas tatasusunan bahasa Go

数组初始化

package main

import "fmt"

func main() {
    //方式一,声明不赋值
    //var name_list [10]int
    //fmt.Println(name_list) //结果:[0 0 0 0 0 0 0 0 0 0] 声明不赋值,int类型默认是0,其他类型也有默认值
    //
    //方式二, 声明没有赋值完
    //var name_list [10]int = [10]int{1, 3}
    //fmt.Println(name_list) //结果:[1 3 0 0 0 0 0 0 0 0],没有赋值完的,其他仍然是默认值

    //方式三,声明完完全赋值
    //var name_list = [3]int{1, 6, 10} //使用类型推断方式,同上
    //fmt.Println(name_list)           //结果:[1 6 10],每个都有值,没啥可说的

    //方式四,自动推断个数
    //var name_list = [...]int{1, 2, 4, 5, 19} //...表示自动推断个数,不会存在过多或者过少
    //fmt.Println(name_list)                   //结果:[1 2 4 5 19]

    //方式五,指定索引方式赋值,用的很少
    var name_list = [...]int{1: 66, 4: 11} //下标1赋值为66,下标4赋值11,其他默认值
    fmt.Println(name_list)                 //结果:[0 66 0 0 11]
}
Salin selepas log masuk

数组遍历

package main

import "fmt"

func main() {
    var name_list = [...]string{"张三", "李四", "王五", "小刘"}
    //方式一,普通for遍历
    //for i := 0; i < len(name_list); i++ {
    //fmt.Println(name_list[i])
    //}

    //方式二,for range方式
    for index, name := range name_list {
        //index是每个的下标,name是值
        fmt.Println(index, name)
  }
}
Salin selepas log masuk

多维数组

二维数组

通常情况下,二维数组基本够用,最多三维数组,再套娃就完犊子了。

定义一个二维数组

package main

import "fmt"

func main() {
    //定义一个三行两列的一个数组
    var student_list = [3][2]string{
        // 列     列
        {"张三", "李四"}, //行
        {"王五", "小刘"}, //行
        {"小七", "王八"}, //行
}
    fmt.Println(student_list)
}
Salin selepas log masuk

循环二维数组

同理,定义一个二维数组需要两层,循环也需要两层。

package main

import "fmt"

func main() {
    //定义一个三行两列的一个数组
    var student_list = [3][2]string{
        // 列     列
        {"张三", "李四"}, //行
        {"王五", "小刘"}, //行
        {"小七", "王八"}, //行
}
    //方式一,普通for循环
    //for i := 0; i < len(student_list); i++ {
    ////fmt.Println(student_list[i])//每行
    ///*
    //      [张三 李四]
    //      [王五 小刘]
    //      [小七 王八]
    //*/
    //for j := 0; j < len(student_list[i]); j++ {
    //      //每列
    //      fmt.Println(student_list[i][j])
    //}
    //}

    //方式二,for range
    for _, v := range student_list {
        //fmt.Println(v) //每行
        /*
            [张三 李四]
            [王五 小刘]
            [小七 王八]
        */
        for _, b := range v {
            //每列
            fmt.Println(b)
        }
  }
}
Salin selepas log masuk

多维数组是否可以长度推导

代码

package main

import "fmt"

func main() {
    //定义一个三行两列的一个数组
    var student_list = [...][...]string{
        // 列     列
        {"张三", "李四"}, //行
        {"王五", "小刘"}, //行
        {"小七", "王八"}, //行
}
    fmt.Println(student_list)
}
Salin selepas log masuk

报错

Artikel untuk membantu anda memahami asas tatasusunan bahasa Go

似乎是不可以的,那我只用第一层试试呢。

package main

import "fmt"

func main() {
  //定义一个三行两列的一个数组
  var student_list = [...][2]string{
    // 列     列
    {"张三", "李四"}, //行
    {"王五", "小刘"}, //行
    {"小七", "王八"}, //行
  }
  fmt.Println(student_list)
}
Salin selepas log masuk

Artikel untuk membantu anda memahami asas tatasusunan bahasa Go

注:可以得出结论,在第一层时,是可以实现长度自动推导的。

Atas ialah kandungan terperinci Artikel untuk membantu anda memahami asas tatasusunan bahasa Go. 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 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.

Apakah amalan terbaik untuk pengendalian ralat dalam rangka kerja Golang? Apakah amalan terbaik untuk pengendalian ralat dalam rangka kerja Golang? Jun 05, 2024 pm 10:39 PM

Amalan terbaik: Cipta ralat tersuai menggunakan jenis ralat yang ditakrifkan dengan baik (pakej ralat) Sediakan lebih banyak butiran Log ralat dengan sewajarnya Sebarkan ralat dengan betul dan elakkan menyembunyikan atau menyekat ralat Balut seperti yang diperlukan untuk menambah konteks

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 menyelesaikan masalah keselamatan biasa dalam rangka kerja golang? Bagaimana untuk menyelesaikan masalah keselamatan biasa dalam rangka kerja golang? Jun 05, 2024 pm 10:38 PM

Cara menangani isu keselamatan biasa dalam rangka kerja Go Dengan penggunaan meluas rangka kerja Go dalam pembangunan web, memastikan keselamatannya adalah penting. Berikut ialah panduan praktikal untuk menyelesaikan masalah keselamatan biasa, dengan kod sampel: 1. SQL Injection Gunakan pernyataan yang disediakan atau pertanyaan berparameter untuk mengelakkan serangan suntikan SQL. Contohnya: constquery="SELECT*FROMusersWHEREusername=?"stmt,err:=db.Prepare(query)iferr!=nil{//Handleerror}err=stmt.QueryR

See all articles