第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Go 中的字節(jié)是否可以使用 nil 值?

Go 中的字節(jié)是否可以使用 nil 值?

Go
函數(shù)式編程 2023-05-22 17:39:45
我正在 Go 中實(shí)現(xiàn)一棵樹。我的 TreeNode 結(jié)構(gòu)如下所示:type TreeNode struct {    payload byte    parent *TreeNode    children map[byte]*TreeNode}在我的實(shí)現(xiàn)中,樹的根節(jié)點(diǎn)是一個(gè)沒有負(fù)載的特殊節(jié)點(diǎn)。否則有效負(fù)載始終是英文字母表中的單個(gè)小寫字母。所以我的樹初始化函數(shù)如下所示:func createEmptyTree(fileName string) *TreeNode{    return &TreeNode{        nil,           // Line #180        nil,        false,        map[byte]*TreeNode{},    }}但是,當(dāng)我編譯它時(shí),出現(xiàn)以下錯(cuò)誤:./main.go:180:9: cannot use nil as type byte in field value所以看來我不能用于nil字節(jié)變量。在這種情況下我還有什么可以使用的嗎?我可以輕松使用'0'或其他非字母字符。但這似乎很老套。我應(yīng)該怎么辦?
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

byte是數(shù)值類型,實(shí)際上是.的別名uint8

這意味著它的默認(rèn)零值為0。


查看完整回答
反對(duì) 回復(fù) 2023-05-22
?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

對(duì)于慣用的 Go,將您的函數(shù)編寫為:


package main


import (

? ? "fmt"

)


type TreeNode struct {

? ? payload? byte

? ? parent? ?*TreeNode

? ? children map[byte]*TreeNode

}


func createEmptyTree(fileName string) *TreeNode {

? ? return &TreeNode{

? ? ? ? children: map[byte]*TreeNode{},

? ? }

}


func main() {

? ? tree := createEmptyTree("fiename")

? ? fmt.Println(tree)

}

游樂場(chǎng):https://play.golang.org/p/v6DJCnpN6Ys

輸出:

&{0?<nil>?map[]}

payload空樹的值為整數(shù)零 (?)?0,整數(shù)類型 的零值byte。零不是英文字母表中的單個(gè)小寫字母值。


Go 編程語言規(guī)范

零值

當(dāng)通過聲明或調(diào)用 new 為變量分配存儲(chǔ)空間時(shí),或者通過復(fù)合文字或調(diào)用 make 創(chuàng)建新值時(shí),并且沒有提供顯式初始化,則給出變量或值一個(gè)默認(rèn)值。此類變量或值的每個(gè)元素都設(shè)置為其類型的零值:布爾值為 false,數(shù)字類型為 0,字符串為 "",指針、函數(shù)、接口、切片、通道和映射為 nil。


查看完整回答
反對(duì) 回復(fù) 2023-05-22
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

golang 中的每種類型都有一個(gè)零值。在這種情況下byte是空字節(jié)。

完全有可能只使用空字節(jié)作為根部的神奇零有效負(fù)載。


查看完整回答
反對(duì) 回復(fù) 2023-05-22
  • 3 回答
  • 0 關(guān)注
  • 197 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)