日常 Go語言聖經 復合資料型別,陣列習題

2022-01-30 20:07:39 字數 1487 閱讀 6623

go語言聖經

-復合資料型別

1.以不同的方式組合基本型別可以構造出來的復合資料型別

2.四種型別——陣列、

slice

、map

和結構體

3.陣列是由同構的元素組成——每個陣列元素都是完全相同的型別——結構體則是由異構的元素組成的

4.slice和

map則是動態的資料結構,它們將根據需要動態增長

go語言聖經-陣列

1.因為陣列的長度是固定的,因此在

go語言中很少直接使用陣列

2.陣列字面值語法用一組值來初始化陣列

3.陣列的長度是陣列型別的乙個組成部分

4.printf函式的

%x副詞引數,它用於指定以十六進製制的格式列印陣列或

slice

全部的元素,

%t副詞引數是用於列印布林型資料,

%t副詞引數是用於顯示乙個值對應的資料型別

5.函式傳參可以顯式地傳入乙個陣列指標,那樣的話函式通過指針對陣列的任何修改都可以直接反饋到呼叫者

練習 4.1: 編寫乙個函式,計算兩個

sha256

雜湊碼中不同

bit的數目。(參考

2.6.2

節的popcount

函式。)

練習 4.2: 編寫乙個程式,預設情況下列印標準輸入的

sha256

編碼,並支援通過命令列

flag

定製,輸出

sha384

或sha512

雜湊演算法。

1. 檢視下文件

godoc crypto/sha256

func sum256(data byte) [size]byte

2. godoc crypto

package main

import(

"fmt"

"crypto/sha256"

"crypto/sha512"

"flag"

"strings"

)//命令列標誌

var hashmethod=flag.string("s","sha256","請輸入雜湊演算法")

func main()

/**/

func comparesha256(str1 string,str2 string)int

}

}

return num }/*

練習 4.2: 編寫乙個程式,預設情況下列印標準輸入的sha256編碼,並支援通過命令列flag定製,輸出sha384或sha512雜湊演算法。

Go 復合資料型別

3 map 4 結構體 5 json 文字和html模板 關於函式入參 當呼叫乙個函式的時候,函式的每個呼叫引數將會被賦值給函式內部的引數變數,所以函式引數變數接收的是乙個複製的副本,並不是原始呼叫的變數。因為函式引數傳遞的機制導致傳遞大的陣列型別將是低效的,並且對陣列引數的任何的修改都是發生在複製...

Go語言復合資料型別之map

map的操作 雜湊表是乙個無序的key value對的集合,要求所有的key必須不同,然後通過給定的key可以在o 1 內檢索 更新或者刪除對應的value。go語言中map就是乙個雜湊表,其表達形式為map key value key在map中是同一種資料型別,其中key必須是支援比較運算子的型別...

Go 復合資料型別 切片 slice

切片 package main import fmt math rand time func main arr1 int arr2 make int,6,8 arr3 make int,6 fmt.printf 長度len d,容量cap d n len arr cap arr 6 6 fmt.pr...