首页 > 其他分享 >Swift 关键字总结(二)--Mutating

Swift 关键字总结(二)--Mutating

时间:2023-03-18 21:59:30浏览次数:54  
标签:count -- Swift height 实例 Mutating 方法 mutating

Swift 语言中结构体和枚举是值类型。一般情况下,值类型的属性不能在它的实例方法中被修改。

但是,如果你确实需要在某个具体的方法中修改结构体或者枚举的属性,你可以选择变异(mutating)这个方法,然后方法就可以从方法内部改变它的属性;并且它做的任何改变在方法结束时还会保留在原始结构中。

方法还可以给它隐含的self属性赋值一个全新的实例,这个新实例在方法结束后将替换原来的实例。



 1 import UIKit
 2 
 3 struct size {
 4     var width = 0
 5     var height = 0
 6     
 7     func size() -> Int {
 8         return width * height
 9     }
10     
11     mutating func changeSize(count: Int) {
12         width *= count
13         height *= count
14     }
15 }

 

假如我们去掉mutating,将会报错

 

 

标签:count,--,Swift,height,实例,Mutating,方法,mutating
From: https://www.cnblogs.com/xiyangxixia/p/17231904.html

相关文章

  • docker镜像转存脚本
    #需要有外网服务器!!!#!/bin/bashecho-e"\E[0;41m私有仓库需要提前登录!!\E[0m\n"checkEv(){if[$1==0];thenecho-e"\E[0;42mok!!!!\E[0m\n"else......
  • pta python实验1-3
    7-1HelloWorld这是学习每种程序设计语言的第一个实例。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬输出Hell......
  • Kubernetes学习之基础知识
    Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它提供了许多功能,例如服务发现、负载均衡、自动伸缩、滚动更新等,使得运维人员可以轻松地......
  • commitlint 结合 husky 实现提交信息格式校验(2023-03-18)
    为什么要对git提交信息进行格式校验通过对提交信息进行格式校验能统一规范,这在团队协作过程中显得格为重要。符合规范的提交信息能很好反映此次提交的的目的,内容和......
  • 今日报告
    总结--服务外包杯进度+1代码时间(包括上课):1h代码量(行):100行博客数量(篇):2篇了解到的相关知识点:1、Python的相关练习2、好吧,还剪辑了一个视频......
  • 力扣---剑指 Offer 06. 从尾到头打印链表
    输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例1:输入:head=[1,3,2]输出:[2,3,1]限制:0<=链表长度<=10000来源:力扣(LeetCode)链接:https://leetcode......
  • 08、【opencsacade+qt 篇】之二:绘制球
    绘制球的基本过程gp_Ax2类:实例化一个坐标;gp_Ax2::SetLocation(gp_Pnt);设置原点位置BRepPrimAPI_MakeSphere(gp_Ax2,int)::shape();传入坐标和半径并创建球形AIS_Sha......
  • markdown的学习,博客创建第一天
    Markdown学习标题://#+标题名字一级标题//##+标题名字二级标题以此类推字体粗体 两边加**你好斜体 两边*你好粗体加斜体两边***你好删除线两......
  • SAS flowover truncover scanover pad missover选项(2)
    以下来自终于总结了一下,truncover,missover,pad选项的意义,以及读取datalines和外部文件-SAS专版-经管之家(原人大经济论坛)(pinggu.org) 因为对sasinputinfile......
  • TCP图解: 三次握手与四次关闭
        ......