數(shù)組的類型
package main
import "fmt"
func main() {
? /*
? 數(shù)據(jù)類型:
? ? ? 基本類型:整數(shù)穷娱,浮點(diǎn)绑蔫,布爾,字符串
? ? ? 復(fù)合類型:array,slice,map,struct,pointer,function,channel...
? 數(shù)組的數(shù)據(jù)類型:
? ? [size]type
? 值類型:理解為存儲(chǔ)的數(shù)值本身
? ? 將數(shù)據(jù)傳遞給其他的變量泵额,傳遞的是數(shù)據(jù)的備份(副本)
? ? ? int,float,string,bool,array
? 引用類型:理解為存儲(chǔ)數(shù)據(jù)的內(nèi)存地址
? ? ? slice,map
? */
? //1.數(shù)據(jù)類型
? num := 10
? fmt.Printf("%T\n",num)
? arr1 :=[4]int{1,2,3,4}
? arr2 :=[3]float64{2.15,3.14,6.58}
? arr3 :=[4]int{5,6,7,8}
? arr4 :=[2]string{"hello","world"}
? fmt.Printf("%T\n",arr1)//[4]int
? fmt.Printf("%T\n",arr2)//[3]float64
? fmt.Printf("%T\n",arr3)//[4]int
? fmt.Printf("%T\n",arr4)//[2]string
? //2.賦值
? num2 := num //值傳遞
? fmt.Println(num,num2) //10 10
? num2 = 20
? fmt.Println(num,num2) //10 20
? //數(shù)組
? arr5 := arr1 //值傳遞
? fmt.Println(arr1)
? fmt.Println(arr5)
? arr5[0] = 100
? fmt.Println(arr1)
? fmt.Println(arr5)
? a := 3
? b := 4
? fmt.Println(a == b) //比較a和b的數(shù)值是否相等
? fmt.Println(arr5 == arr1) //比較數(shù)字的對應(yīng)下標(biāo)位置的數(shù)值是否相等
? //fmt.Println(arr1 == arr2) // invalid operation: arr1 == arr2 (mismatched types [4]int and [3]float64)
}
運(yùn)行輸出:
int
[4]int
[3]float64
[4]int
[2]string
10 10
10 20
[1 2 3 4]
[1 2 3 4]
[1 2 3 4]
[100 2 3 4]
false
false
Process finished with exit code 0
數(shù)組排序
package main
import "fmt"
func main() {
? /*
? 數(shù)組的排序:
? ? 讓數(shù)組中的元素具有一定的順序
? ? arr :=[5]int{15,23,8,10,7}
? ? ? 升序:[7,8,10,15,23]
? ? ? 降序:[23,15,10,8,7]
? 排序算法:
? ? 冒泡排序配深,插入排序,選擇排序梯刚,希爾排序凉馆,堆排序,快速排序亡资。澜共。。锥腻。嗦董。
? 冒泡排序:(Bubble Sort)
? ? 依次比較兩個(gè)相鄰的元素,如果他們的順序(例:從小到大)就把他們交換過來
? */
? arr :=[5]int{15,23,8,10,7}
? ////第一輪排序
? //for j :=0;j<4;j++{
? //? if arr[j] > arr[j+1]{
? //? ? arr[j],arr[j+1] = arr[j+1],arr[j]
? //? }
? //}
? //fmt.Println(arr)
? //
? ////第二輪排序
? //for j :=0;j<3;j++{
? //? if arr[j] > arr[j+1]{
? //? ? arr[j],arr[j+1] = arr[j+1],arr[j]
? //? }
? //}
? //fmt.Println(arr)
? fmt.Println("........")
? ? //總結(jié)
? ? for i :=1;i < len(arr);i++{
? ? for j :=0;j<len(arr)-i;j++{
? ? ? if arr[j] > arr[j+1]{
? ? ? ? arr[j],arr[j+1] = arr[j+1],arr[j]
? ? ? }
? ? }
? ? fmt.Println(arr)
? }
}
運(yùn)行輸出:
........
[15 8 10 7 23]
[8 10 7 15 23]
[8 7 10 15 23]
[7 8 10 15 23]
Process finished with exit code 0
讀完點(diǎn)個(gè)贊瘦黑,給我的堅(jiān)持更新注入新的活力京革。
2022.05.12日更68/365 天
公眾號:3天時(shí)間
往期同類文章:
GO學(xué)習(xí) Array
GO學(xué)習(xí) goto語句和隨機(jī)函數(shù)
GO學(xué)習(xí) for循環(huán)練習(xí)
GO學(xué)習(xí) 多重for循環(huán)
GO學(xué)習(xí) for循環(huán)