当前位置:   article > 正文

仓颉编程语言开发:创建 struct 实例_仓颉调用struct

仓颉调用struct

定义了 struct 类型后,即可通过调用 struct 的构造函数来创建 struct 实例。在 struct 定义之外,通过 struct 类型名调用构造函数。例如,下例中定义了一个 Rectangle 类型的变量 r。

let r = Rectangle(10, 20)

创建了 struct 实例之后,可以通过实例访问它的(public 修饰的)实例成员变量和实例成员函数。例如,下例中通过 r.width 和 r.height 可分别访问 r 中 width 和 height 的值,通过 r.area() 可以调用 r 的成员函数 area。

  1. let r = Rectangle(10, 20)
  2. let width = r.width // width = 10
  3. let height = r.height // height = 20
  4. let a = r.area() // a = 200

如果希望通过 struct 实例去修改成员变量的值,需要将 struct 类型的变量定义为可变变量,并且被修改的成员变量也必须是可变成员变量(使用 var 定义)。举例如下:

  1. struct Rectangle {
  2. public var width: Int64
  3. public var height: Int64
  4. public init(width: Int64, height: Int64) {
  5. this.width = width
  6. this.height = height
  7. }
  8. public func area() {
  9. width * height
  10. }
  11. }
  12. main() {
  13. var r = Rectangle(10, 20) // r.width = 10, r.height = 20
  14. r.width = 8 // r.width = 8
  15. r.height = 24 // r.height = 24
  16. let a = r.area() // a = 192
  17. }

在赋值或传参时,会对 struct 实例进行复制,生成新的实例,对其中一个实例的修改并不会影响另外一个实例。以赋值为例,下面的例子中,将 r1 赋值给 r2 之后,修改 r1 的 width 和 height 的值,并不会影响 r2 的 width 和 height 值。

  1. struct Rectangle {
  2. public var width: Int64
  3. public var height: Int64
  4. public init(width: Int64, height: Int64) {
  5. this.width = width
  6. this.height = height
  7. }
  8. public func area() {
  9. width * height
  10. }
  11. }
  12. main() {
  13. var r1 = Rectangle(10, 20) // r1.width = 10, r1.height = 20
  14. var r2 = r1 // r2.width = 10, r2.height = 20
  15. r1.width = 8 // r1.width = 8
  16. r1.height = 24 // r1.height = 24
  17. let a1 = r1.area() // a1 = 192
  18. let a2 = r2.area() // a2 = 200
  19. }

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,

内容包含了:ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

如果你是一名有经验的资深Android移动开发、Java开发、前端开发、对鸿蒙感兴趣以及转行人员,可以直接领取这份资料

 获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS NEXT学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS NEXT学习资料

 纯血版鸿蒙全套学习资料(面试、文档、全套视频等)

《鸿蒙 (OpenHarmony)开发入门教学视频》

鸿蒙PDF文档书籍学习资料

  

获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS NEXT学习资料 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/1009820
推荐阅读
相关标签
  

闽ICP备14008679号