Я новичок в golang и смущен следующим:
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func test() []*TreeNode {
return []*TreeNode{}
}
func test1() []*TreeNode {
return []*TreeNode{nil}
}
Я пытаюсь написать забавную рекурсию c на TreeNode, однако, если бы я использовал test
стиль для представления конечного узла, я получу пустой фрагмент TreeNode от вызывающего абонента fun c.
Если я использую test1
для представления конечного узла, то поведение будет таким, как я хочу.
Я чувствую, что для test1
это дает мне точку на пустой TreeNode, однако код test
дает мне точку для nil
... Я не уверен, если Я понимаю это правильно или нет. Можете ли вы указать мне правильные термины или понятия, чтобы копать, это будет здорово.
Кроме того, если вы сможете дать мне больше информации о логи подчеркивания c, было бы здорово.
Заранее спасибо.