• 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.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
    ")
    	} else {
    		fmt.Printf("SFlag=false
    ")
    	}
    
    	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.参数传递时,结构通常是传指针。


  • 相关阅读:
    [bzoj4239]巴士走读
    [bzoj1146]网络管理
    [luogu3292]幸运数字
    [51nod1597]有限背包计数问题
    [bzoj2654]tree
    [bzoj2668]交换棋子
    [bzoj3173]最长上升子序列
    [hdu6715]算术
    [bzoj3784]树上的路径
    [bzoj1221]软件开发
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563545.html
Copyright © 2020-2023  润新知