Go語言中數(shù)組的基本用法演示
首先來看一下如何聲明數(shù)組:
package main
import "fmt"
var arr [2]int //申明一個數(shù)組
func main() {
arr[0] = 1 //數(shù)組賦值
fmt.Println(arr)
arrtest := [3]int{1, 2, 3} //數(shù)組的另一種申明方式
fmt.Println(arrtest)
a := [...]int{1, 2} //[...]自動識別數(shù)組的長度
fmt.Println(a)
fmt.Println(len(a))//輸出數(shù)組的長度
}
go語言可以自動計算數(shù)組的長度,譬如你知道數(shù)組有幾個可以如下申明
a:=[...]int{1,2,3,45}
指針數(shù)組
a:=[3]int{1,2,3}
var p * [3]int = &a //這種是指針數(shù)組 我們看到可以直接輸出指向數(shù)組的指針
x , y :=1 ,3
a := [...]*int{&x ,&y}
str.Println(a) //輸出這樣[0xc080000068 0xc080000070]的地址 這就是數(shù)組指針
可以用new關(guān)鍵字申明
p := new([10]int)
fmt.Println(p) //&[0 0 0 0 0 0 0 0 0 0] 輸出一個指針
多維數(shù)組跟其他語言一樣
c := [3][2]int{{1: 2}, {2, 1}, {2, 2}}
fmt.Println(c) //輸出[[0 2] [2 1] [2 2]]
下邊是slice的申明和使用其實這就是一種動態(tài)的數(shù)組
package main
import "fmt"
var arr [2]int //申明一個數(shù)組
func main() {
arr[0] = 1 //數(shù)組賦值
fmt.Println(arr)
arrtest := [3]int{1, 2, 3} //數(shù)組的另一種申明方式
fmt.Println(arrtest)
a := [...]int{1, 2} //[...]自動識別數(shù)組的長度
fmt.Println(a)
fmt.Println(len(a))//輸出數(shù)組的長度
}
來看一下冒泡算法之go語言版
package main
import "fmt"
func main() {
a := [...]int{3, 2, 5, 8, 6}
fmt.Println(a)
num := len(a)
for i := 0; i < num; i++ {
for j := i + 1; j < num; j++ {
if a[i] < a[j] {
temp := a[i]
a[i] = a[j]
a[j] = temp
}
}
}
fmt.Println(a)
}
相關(guān)文章
go?sync?Waitgroup數(shù)據(jù)結(jié)構(gòu)實現(xiàn)基本操作詳解
這篇文章主要為大家介紹了go?sync?Waitgroup數(shù)據(jù)結(jié)構(gòu)實現(xiàn)基本操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01Go語言中轉(zhuǎn)換JSON數(shù)據(jù)簡單例子
這篇文章主要介紹了Go語言中轉(zhuǎn)換JSON數(shù)據(jù)簡單例子,本文先定義了一個結(jié)構(gòu)體,然后把JSON綁定到結(jié)構(gòu)體上實現(xiàn)讀取,需要的朋友可以參考下2014-10-10使用go的interface案例實現(xiàn)多態(tài)范式操作
這篇文章主要介紹了使用go的interface案例實現(xiàn)多態(tài)范式操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12Golang中文字符串截取函數(shù)實現(xiàn)原理
在golang中可以通過切片截取一個數(shù)組或字符串,但是當(dāng)截取的字符串是中文時,可能會出現(xiàn)問題,下面我們來自定義個函數(shù)解決Golang中文字符串截取問題2018-03-03