Go中的结构体初始化方法示例如下:
package main
import (
"fmt"
)
type ListNode struct {
Val int
Next *ListNode
}
// 补充示例 - 复杂类型:
type MinStack struct {
stack []int // 数据栈
minStack []int // 辅助栈:栈顶为当前最小值
}
func Constructor() MinStack {
return MinStack{ // 结构体初始化方法
stack : []int{},
minStack : []int{666}, // 注意:
}
}
func main() {
// go中初始化结构体的几种方法:
// 1.不赋值 默认为0或nil
var node1 = &ListNode{}
//node2 = &ListNode{}
fmt.Printf("方法1:%v\n", node1)
// 2.赋值
var node2 = &ListNode{Val:0, Next:nil}
//node1 := &ListNode{Val:0, Next:nil}
fmt.Printf("方法2:%v\n", node2)
// 补充示例:
obj := Constructor();
fmt.Printf("示例:%v\n", obj)
}