3 回答

TA貢獻1876條經(jīng)驗 獲得超7個贊
對于慣用的 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)
}
游樂場:https://play.golang.org/p/v6DJCnpN6Ys
輸出:
&{0?<nil>?map[]}
payload
空樹的值為整數(shù)零 (?)?0
,整數(shù)類型 的零值byte
。零不是英文字母表中的單個小寫字母值。
Go 編程語言規(guī)范
零值
當通過聲明或調(diào)用 new 為變量分配存儲空間時,或者通過復(fù)合文字或調(diào)用 make 創(chuàng)建新值時,并且沒有提供顯式初始化,則給出變量或值一個默認值。此類變量或值的每個元素都設(shè)置為其類型的零值:布爾值為 false,數(shù)字類型為 0,字符串為 "",指針、函數(shù)、接口、切片、通道和映射為 nil。

TA貢獻1872條經(jīng)驗 獲得超4個贊
golang 中的每種類型都有一個零值。在這種情況下byte
是空字節(jié)。
完全有可能只使用空字節(jié)作為根部的神奇零有效負載。
- 3 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報