Swift - 31 - 常量参数, 变量参数和inout参数

//: Playground - noun: a place where people can play

import UIKit

// swift中默认情况下, 传入的参数是不可以修改的, 也就是let类型, 也就是常量参数
// 如果想修改这个参数的值, 需要在参数前加"var", 也就是变量参数
func toBinary(var num:Int) -> String    // 将一个数转换为二进制
{
    var result = ""
    while num != 0 {
        result = String(num%2) + result
        num /= 2
    }
    return result
}

var number = 69
toBinary(number)
number      // 输入结果还是69, 说明函数中对变量参数的修改, 不会影响外部变量本身

// 以下两个函数也证明了, 变量参数不会影响外部变量本身(包括数组和字典)
var a = 1
func testChangeIntFunction(var a:Int)
{
    a = 0
}
testChangeIntFunction(a)
a

var arr = [2, 3]
func testChangeIntFunction(var a:[Int])
{
    a = [3, 4]
}
testChangeIntFunction(arr)
arr

/*--------------------------------------------------------------------*/

// 那么如何实现在函数内改变外部变量本身呢? 这里就要使用到另外一个关键字"inout"了
// 这样可以理解为传入的是参数的指针(也就是内存地址)
func changeEachOther(inout a:Int, inout b:Int) {
    let temp = a
    a = b
    b = temp
}

var x = 0, y = 100
print("x = \(x), y = \(y)")
changeEachOther(&x, b: &y)
print("x = \(x), y = \(y)")

// swift自带的交换函数
// swap(&<#T##a: T##T#>, &<#T##b: T##T#>)

  

时间: 2024-10-19 10:54:54

Swift - 31 - 常量参数, 变量参数和inout参数的相关文章

Swift - 1 (常量、变量、字符串、数组、字典、元组、循环、枚举、函数)

Swift 中导入类库使用import,不再使用<>,导入自定义不再使用"" import Foundation 1> 声明变量和常量 在Swift中使用 "let" 修饰一个常量,使用 "var" 修饰一个变量; let修饰常量的值是不可以更改的: var修饰的变量的值是可以更改的: 在声明常量和变量的时候可以使用表情符号.中文等命名常量名和变量名. Swift定义变量或者常量的时候,需要标识出变量或者常量的类型,如果不标识,

Swift学习------常量与变量

常量与变量 * let 常量: 常量的值一旦设定就不能改变 * var 变量: 变量的值可以随意更改 * 常量&变量的使用原则: * 为保证数据的安全性尽量先用 let,只有需要改变的时候才使用 var 常量定义格式 * 声明符号 常量名称: 类型标注 * let number: Int * 特点: 一旦设定就不能改变 let number: Int = 10 定义变量格式 * 声明符号 变量名称: 类型标注 var number: Int * 特点: 变量的值可以随意更改 * 注意: 一般来说

swift学习第一天:认识swift以及swift的常量和变量

一:认识swift // 1.导入框架 //#import <UIKit/UIKit.h> import UIKit // 2.定义一个标识符 // int a = 10; // swift中定义标识符:必须制定该标识符是一个常量还是一个变量 // var(变量)/let(常量) 标识符的名称 : 标识符的类型 = 初始化值 var a : Int = 10; let b : Double = 3.14; a = 29; // b = 3.11 错误写法 // 3.语句结束后可以不跟; //

3.Swift的常量与变量

1.定义 let 定义常量,一经赋值不允许再修改 建议使用,更加安全 var 定义变量,赋值之后仍然可以修改 应该尽量先选择常量,只有在必须修改时,才需要修改为 var 在 Xcode 7.0 中,如果没有修改变量,Xcode 会提示修改为 let 代码演示 import UIKit class ViewController: UIViewController { override func viewDidLoad() {        super.viewDidLoad()        de

Swift - 02 - 常量和变量

//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground" // 常量的定义用let let maxLoginCount = 10 // 变量的定义用var var currentLoginCount = 0 currentLoginCount = 3 // 同时定义多个变量或者常量 var x = 10, y = 20, z = 30 // 定义常量的时

Swift的常量与变量

1.使用let设置常量: 基本数据类型的常量名全为大写,如果由多个单词组成,则可以使用下划线隔开,如: let YEAR=6 let  WEEK_OF_MONTH=12 2.使用var设置变量 通常会用小写字母作为开始,其余单词首字母大写,例如: var  maxNumber=100 var  minNumber=10;

Swift语言—常量、变量、类型赋值

常量:常量在作用域内不能被赋值且不会发生改变,只读不写,每个常量都必须有唯一的名字和内存空间:关键字:let   变量:变量在作用区域内可以它的值可以被改变,可读可写可覆盖,每个常量都必须有唯一的名字和内存空间:关键字:var   变量类型赋值: Var str = “Hello”   Var s: String = “World”   Var i:Int = 100 Var world:String =”wojiaoadong”

Swift基础语法之变量函数

1 import Foundation 2 //变量声明使用 3 4 //使用 let 来声明常量,使用 var 来声明变量 常量只能为它赋值一次 5 let name="cuiyw"; 6 var age:Int=20; 7 //声明时类型是可选的,声明的同时 赋值的话,编译器会自动推断类型 8 var money:Double=200.0; 9 //有一种更简单的把值转换成字符串的方法:把值写到括号中,并且在括号之前写一个反斜杠 10 let infto=name+String(a

?Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1.2语言快速入门v2.0. [示例7-11]以下的代码就为外部参数toString.withJoiner设置了默认的参数"Swift"和"---".代码如下: import Foundation func join(string s1: String, toString