Go语言结构应用实例
编写程序过程中,经常会用到结构。本程序给出了使用结构的简单实例。
Go语言程序:
// struct project main.go package main import ( "fmt" ) const N int = 10 type Node struct { figure int digits1 [N]int digits2 [N]int sflag bool } func main() { var n Node n.figure = 1 n.digits1[0] = 1 n.digits2[0] = 1 n.sflag = true n2 := n n2.digits1[n2.figure] = 2 n2.digits2[n2.figure] = 2 n2.figure++ n2.sflag = false n3 := n2 n3.digits1[n2.figure] = 3 n3.digits2[n2.figure] = 4 n3.figure++ output_node(&n) output_node(&n2) output_node(&n3) } func output_node(n *Node) { fmt.Printf("Figure =%d\n", n.figure) fmt.Printf("Array1: ") for i := n.figure - 1; i >= 0; i-- { fmt.Printf("%d ", n.digits1[i]) } fmt.Println("") fmt.Printf("Array2: ") for i := n.figure - 1; i >= 0; i-- { fmt.Printf("%d ", n.digits2[i]) } fmt.Println("") if n.sflag { fmt.Printf("SFlag=true\n") } else { fmt.Printf("SFlag=false\n") } fmt.Println("") }
程序运行结果:
Figure =1 Array1: 1 Array2: 1 SFlag=true Figure =2 Array1: 2 1 Array2: 2 1 SFlag=false Figure =3 Array1: 3 2 1 Array2: 4 2 1 SFlag=false
程序说明:
1.不论指针还是变量,取结果元素都使用"."运算符,比较方便。
2.参数传递时,结构通常是传指针。