GO语言练习:struct基础练习

1、代码

2、运行



1、代码

 1 package main
 2
 3 import "fmt"
 4
 5 type Rect struct {
 6     x, y float64
 7     width, height float64
 8 }
 9
10 func (r * Rect) Area() float64 {
11     return r.width * r.height
12 }
13
14 func Init() {
15     rect1 := new(Rect)
16     rect2 := &Rect{}
17     rect3 := &Rect{0, 0, 100, 200}
18     rect4 := &Rect{width : 100, height : 200}
19
20     ShowRect(rect1)
21     ShowRect(rect2)
22     ShowRect(rect3)
23     ShowRect(rect4)
24 }
25 func NewRect(x, y, width, height float64) * Rect {
26     return &Rect{x, y, width, height}
27 }
28
29 func ShowRect(rect * Rect) {
30     fmt.Println(rect.x, rect.y, rect.width, rect.height)
31 }
32
33 func main() {
34     Init()
35     var rect *Rect = NewRect(1.0, 2.0, 3.0, 4.0)
36     ShowRect(rect)
37     fmt.Println("area = ", rect.Area())
38 }

2、运行

$ go run struct.go
0 0 0 0
0 0 0 0
0 0 100 200
0 0 100 200
1 2 3 4
area =  12
时间: 2024-11-05 22:36:53

GO语言练习:struct基础练习的相关文章

c语言之struct

1. 结构的基础知识 跟数组一样是成员的集合,但与数组有很大的区别,结构的元素不能通过下标法来访问,因为各个成员的大小可能不同,但是数组可以,因为数组元素保持一致. 1.1 结构声明 struct  tag {member-list } variable-list ; 上面黑色部分是可选部分,但是必须同时出现两个. 实例一:下面是实例: struct{ int a ; char b ; float c ; }x,y[20],*z; 上面定义了实例化了x,y[20],*z ; x是结构变量,y是结

20_Shell语言———VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能

Vim编辑器可以让用户按照需求来定制一些使用属性. 一.窗口属性定义 1)显示行号 行号不是内容,只是用来帮助用户确认文本所在的行.在vim编辑器中,如果要显示行号,可以在末行模式下输入: set number 如果想关闭,则可以在功能名称前面加上no,即: set nonumber 命令可以被简写,如set number 可以简写为 set nu:set nonumber 可以简写为 set nonu. 注意,上述设定仅对当前vim的进程有效,一旦当前进程关闭,这些设定就会失效,如果要使设定永

awk程序设计语言之-awk基础

awk程序设计语言之-awk基础 1 http://man.linuxde.net/ 2 7 8 常用工具命令之awk命令 9 awk是一种编程语言,用于在Linux/Unix下对文本和数据处理.数据可以来自标准输入(stdin).一个或多个文件,或其他命令的输出.它支持用户自定义函数和动态正则表达式 10 等先进功能,是Linux/unix下的一个强大编程工具.它在命令行中使用,但更多是作为脚本来使用,awk有很多内建功能,比如数组.函数等,这是它和c语言的相同之处,灵活性 11 是awk最大

语言的学习基础,100个经典的算法

POJ上做做ACM的题 语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? __________________________________________________________________ 程序分析:兔子的规律为数列1,1,2,3,5,8

Groovy语言学习--语法基础(5)

至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实现来得实在.程序员应该用代码来沟通,文字只是解释. 到此,感觉算是对groovy完成了入门练习.内部涉及的实现复杂和性能优化,超出目前学习能力范围,后续随着技能的提升可能还会去进一步研究.先到此为止了. 相关代码见项目:https://github.com/islowcity/groovy 项目中有

c语言关键字-struct,union,enum及柔性数组

一.struct关键字与柔性数组 c语言中的struct可以看做变量的集合,struct中的每个数据成员都有独立的存储空间 柔性数组:柔性数组在C99中也称之为伸缩型数组,是C99的扩展,简言之就是struct结构里的标识占位符(不占用struct的空间),柔性数组的结构只能在堆上生成. 声明柔性数组的规则 柔性数组成员必须为结构(struct)中的最后一个成员 结构中至少有一个其他成员 柔性数组就像普通数组一样被声明,除了它的方括号内为空 1 struct softarry 2 { 3 int

5-24 c++语言之【基础知识】

最近一段时间继续开始了c++的学习,作为c plus plus 难免会与c语言做一个对比,很明显的感受到c++语言注重代码的复用性和拓展性,而c语言更加注重其算法的高效性,这也是今后需要注意的地方,避免用c++语言写出c语言的思想,接下来就是正文 关于c++的语言特点: c++是一门面向对象的语言(很重要) 面向对象的三大特点(封装,继承,多态) c++库函数的头文件没有.h endl 换行并清空缓冲区 第一个,命名空间作用域 首先  :: 为作用域运算符(其中一个用法),在初写c++程序中有这

【Neko C Engine】一个基于 C 语言的游戏基础代码库

原本已经用 C++ 在写着一个游戏代码库了,个人作品,规模很小,只能满足基本的游戏开发需求,后来突发奇想,试着用 C 语言重写了一次自己的游戏代码库,姑且叫做 Neko C Engine 吧,缩写 nkCEngine,基于 Windows 系统,底层封装了 Win32 窗口.D3D.DirectSound 等等,使用的时候不需要操心 Win32 窗口,不需要操心绘图与音效播放的细节,直接一个 C 函数创建对象,然后用对应的 C 函数操作对象: 这个库的最终目标,是希望公开出来给所有对游戏开发感兴

JS脚本语言(全称java script:网页里使用的脚本语言:非常强大的语言):基础语法

一.注释语法 1.单行注释// 2.多行注释/**/ 二.语法输出 1.alert(信息):弹出信息 2.confirm(信息):弹出一个和用户交互的对话框 3.prompt(信息):弹出一个可以让用户输入的对话框 三.嵌入代码 1.尽量靠下写 2.<script style="textjavasprit"></script> 四.程序的基础知识 1.所有的字符全部是英文半角的 2.大部分情况下每条语句结束之后要加分号 3.每一块代码结束后要换行 4.程序前后呼