Go 学习笔记-结构体

package main

import "fmt"

/*
* 结构体是由一系列具有一组相同或不同数据构成的数据集合,表达一个整体概念。
* 结构体定义:
type struct_variable_type struct {
   member definition
   member definition
   ...
   member definition
}
* 声明与初始化:
* variable_name := structure_variable_type {value1, value2...valuen}
* 或
* variable_name := structure_variable_type { key1: value1, key2: value2..., keyn: valuen}
*/

// 定义结构体:点(有x,y 两个坐标组成)
type Point struct {
	x int
	y int
}

// 定义结构体:线(由两个点组成)
type Line struct {
	begin Point
	end Point
}

// 显示点信息,值传递
func showPoint(pos Point) {
	fmt.Println("x=", pos.x, "y=", pos.y)
}

// 移动点,引用传递
func movePoint(pos *Point) {
	// 传递指针,使用时不需要像 C 语言一样使用 *pos-> 的表达方式,与值引用相同 . 访问成员变量
	pos.x += 1
	pos.y += 1
}

// 显示线
func showLine(line Line) {
	// 使用格式化打印方式 %d 代表占位符,"" 之后的第一个参数以整数的方式输出
	fmt.Printf("(x1=%d, y1=%d), (x2=%d, y2=%d)\n", 
	line.begin.x, line.begin.y, line.end.x, line.end.y)
}

func main()  {
	fmt.Println("struct")

	// 结构体变量声明方式1:只声明,值在下文设置
	var pBegin Point

	// 结构体变量声明方式2:声明并初始化
	pEnd := Point {y:20, x:15}

	pBegin.x = 10
	pBegin.y = 10

	showPoint(pBegin)
	showPoint(pEnd)

	movePoint(&pBegin)
	showPoint(pBegin)

	var line Line
	line.begin = pBegin
	line.end = pEnd
	showLine(line)
}

参考链接

Go 语言结构体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值