亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何創建字節矩陣 Golang

如何創建字節矩陣 Golang

Go
慕容森 2022-06-06 17:45:18
我找不到如何在 Golang 中創建字節矩陣。test := {{"6",".",".","1","9","5",".",".","."},{".","9","8",".",".",".",".","6","."},{"8",".",".",".","6",".",".",".","3"},{"4",".",".","8",".","3",".",".","1"},{"7",".",".",".","2",".",".",".","6"},{".","6",".",".",".",".","2","8","."},{".",".",".","4","1","9",".",".","5"},{".",".",".",".","8",".",".","7","9"}}語法錯誤:意外 {,預期表達式語法錯誤:意外 { 在語句末尾或者我使用的第二種方式test := make([][]byte, 9);test = append(test, []byte{"5","3",".",".","7",".",".",".","."})test = append(test, []byte{"6",".",".","1","9","5",".",".","."})無法將“5”(無類型字符串類型)轉換為字節類型
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

您的第一個示例缺少復合文字的類型。


由于您使用了值,因此可以使用(在Go Playgroundstring上嘗試):


test := [][]string{

    {"6", ".", ".", "1", "9", "5", ".", ".", "."},

    {".", "9", "8", ".", ".", ".", ".", "6", "."},

    {"8", ".", ".", ".", "6", ".", ".", ".", "3"},

    {"4", ".", ".", "8", ".", "3", ".", ".", "1"},

    {"7", ".", ".", ".", "2", ".", ".", ".", "6"},

    {".", "6", ".", ".", ".", ".", "2", "8", "."},

    {".", ".", ".", "4", "1", "9", ".", ".", "5"},

    {".", ".", ".", ".", "8", ".", ".", "7", "9"},

}

如果您想要一個“字節矩陣”,請使用可以分配給byte類型變量的常量文字,例如符文文字(在Go Playground上嘗試):


test := [][]byte{

    {'6', '.', '.', '1', '9', '5', '.', '.', '.'},

    {'.', '9', '8', '.', '.', '.', '.', '6', '.'},

    {'8', '.', '.', '.', '6', '.', '.', '.', '3'},

    {'4', '.', '.', '8', '.', '3', '.', '.', '1'},

    {'7', '.', '.', '.', '2', '.', '.', '.', '6'},

    {'.', '6', '.', '.', '.', '.', '2', '8', '.'},

    {'.', '.', '.', '4', '1', '9', '.', '.', '5'},

    {'.', '.', '.', '.', '8', '.', '.', '7', '9'},

}

如果將行枚舉為字符串,并使用[]byte() 轉換將行轉換為(在Go Playground[]byte上嘗試),則可以實現相同的目的:


test := [][]byte{

    []byte("6..195..."),

    []byte(".98....6."),

    []byte("8...6...3"),

    []byte("4..8.3..1"),

    []byte("7...2...6"),

    []byte(".6....28."),

    []byte("...419..5"),

    []byte("....8..79"),

}

最后一個版本可能更令人賞心悅目并且更容易修改,但請注意,它僅在您在行中使用 ASCII 字符時才有效,因為高于 127 的字符在 UTF-8 編碼中具有多字節(這就是 Go 存儲字符串的方式在內存中),因此將其轉換string為[]byte將導致比它擁有的字符更多的字節。


查看完整回答
反對 回復 2022-06-06
  • 1 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號