swift 类 结构体 作为参数 以及可变参数
- Class
 
class Person{
    var age = 22, name = "frank"
    func growolder()
    {
        self.age++ //++ 要跟住 不要乱打空格
        // 如果是var 可以在结构体内部进行修改
    }
}
func celebrationBirthday(person:Person)
{
    print("生日快乐 (\(person.name))")
    person.growolder()
}
let Frank = Person()
celebrationBirthday(Frank)
print(Frank.age)
参数生命为var类型
class Person{
    var age = 22, name = "frank"
    func growolder()
    {
        self.age++ //++ 要跟住 不要乱打空格
        // 如果是var 可以在结构体内部进行修改
    }
}
func celebrationBirthday(var person:Person)
{
    print("生日快乐 (\(person.name))")
    person.growolder()
}
let Frank = Person()
celebrationBirthday(Frank)
print(Frank.age)
一句话概括  如果是var 可以在结构体内部进行修改
- struct
 
-
struct Person{
    var age = 22, name = "frank"
    mutating func growolder()
    {
        self.age++
    }
    //结构体里面的函数 要修改属性 必须加上关键字 mutating
}
// 结构作为参数 传递给函数 当做 值传递, 相传地地址 加上inout
func celebrationBirthday(inout person:Person)
{
    print("生日快乐 (\(person.name))")
    person.growolder()
}
var Frank = Person()//这个地方注意需要 定义为var
celebrationBirthday(&Frank)
print(Frank.age)
// 1.结构传递 是作为值传递 ,所以要inout处理 传递对象得让编译器知道地址 
// 2.修改结构的属性值 把结构声明为var变量  常量不允许修改内部的属性值
- 可变参数
 
// 可变参数
func longestWord(Words : String ...) -> String
{
    var currentLongest :String?
    for word in Words
    {
        if(currentLongest?.characters.count  < word.characters.count)
        {
            currentLongest = word
        }
    }
    return currentLongest!
}
let  long = longestWord("大象", "猫", "大熊猫", "耗子")
三个点表示可变参数
swift 类 结构体 作为参数 以及可变参数的更多相关文章
- python的位置参数、默认参数、关键字参数、可变参数区别
		
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_d ...
 - Java可变参数 & Python可变参数 & Scala可变参数
		
Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...
 - Java中不定项参数(可变参数)的作用和使用方式
		
引言: 我们在编写方法的过程中,可能会遇见一个方法有不确定参数个数的情况.一般我们会用方法重载来解决问题: //方法重载,解决参数个数不确定问题 public void method(); publi ...
 - python函数中的位置参数、默认参数、关键字参数、可变参数区别
		
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_d ...
 - Python 必选参数,默认参数,可变参数,关键字参数和命名关键字参数
		
Py的参数还真是多,用起来还是很方便的,这么多参数种类可见它在工程上的实用性还是非常广泛的. 挺有意思的,本文主要参照Liaoxuefeng的Python教程. #必选参数 def quadratic ...
 - java-不定项参数(可变参数)的作用和使用方式
		
引言: 我们在编写方法的过程中,可能会遇见一个方法有不确定参数个数的情况.一般我们会用方法重载来解决问题: 1 //方法重载,解决参数个数不确定问题 2 public void method(); 3 ...
 - python 必选参数、默认参数、可变参数和、关键字参数
		
转自:https://www.liaoxuefeng.com/wiki/897692888725344/897693568201440 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可 ...
 - 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承
		
1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum Celebrity{ case DongXie,XiDu,Nandi,BeiGai } // 从左 ...
 - Swift枚举|结构体|类|属性|方法|下标脚本|继承
		
1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum Celebrity{ case DongXie,XiDu,Nandi,BeiGai } // 从左 ...
 
随机推荐
- poj 2782 Bin Packing (贪心+二分)
			
F - 贪心+ 二分 Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Description ...
 - 开源word操作组件DocX的记录
			
开源word操作组件DocX的记录 使用开源word操作组件DocX的记录 1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱 ...
 - 配置linux平台下基于vim的开发环境
			
一.vim的基本配置 1.配置文件的位置在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效.而在每个用户的主目录($HOME)下,都可以自己建立私有的 ...
 - 转:Zend_Cache的使用
			
一.Zend_Cache快速浏览 Zend_Cache 提供了一个缓存任何数据的一般方法. 在Zend Framework中缓存由前端操作,同时通过后端适配器(File, Sqlite, Memcac ...
 - mysql常用的命令大全
			
常用的MySQL命令大全一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令 ...
 - 理解java中的ThreadLocal(转)
			
一.对ThreadLocal概述 JDK API 写道: 该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的 ...
 - JS线程模型&Web Worker
			
js线程模型 客户端javascript是单线程,浏览器无法同时运行两个事件处理程序 设计为单线程的理论是,客户端的javascript函数必须不能运行太长时间,否则会导致web浏览器无法对用户输入做 ...
 - Unity绘制GUI连连看(尚未完善效果和重置)
			
OneImage.cs public class OneImage : MonoBehaviour { public int row, col; public Rect rect; public Te ...
 - Flask 中的 SQLAlchemy 使用教程
			
Flask 是一个 python web micro framework.所谓微框架,主要是 flask 简洁与轻巧,自定义程度高.相比 django 更加轻量级. 之前一直折腾 django,得益于 ...
 - 深入理解jdk和jre(转)
			
转自:http://ihyperwin.iteye.com/blog/1513754 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做.因为这样更能帮助大家 ...