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.参数传递时,结构通常是传指针。


posted on   海岛Blog  阅读(373)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示