Swift學習筆記(三十三)——常量引數,變數引數和inout引數
(1)一般預設在函式中定義的引數都是常量引數,也就是這個引數你只可以查詢使用,不能改變它的值。
(2)如果想要宣告一個變數引數,可以在前面加上var,這樣就可以改變這個引數的值了。
如:
func getName(var id:String).........
此時這個id值可以在函式中改變。
(3)一般預設的引數傳遞都是傳值呼叫的,而不是傳引用。 所以傳入的引數在函式內改變,並不影響原來的那個引數。傳入的只是這個引數的副本。
(4)
import Foundation
func swapTwoInts(var a:Int,var b:Int){
let t = a
a = b
b = t
}
var x = 0,y = 100
println("x = \(x) ;y = \(y)")
swapTwoInts(x, y)
println("x = \(x) ;y = \(y)")
此時傳入的引數是原來值的副本,所以這個函式並不會交換兩個值。
修改方法是使用inout關鍵字:
import Foundation
func swapTwoInts(inout a:Int,inout b:Int){
let t = a
a = b
b = t
}
var x = 0,y = 100
println("x = \(x) ;y = \(y)")
swapTwoInts(&x, &y)
println("x = \(x) ;y = \(y)")
這樣,兩個變數的值就真正改變了。
github主頁:https://github.com/chenyufeng1991 。歡迎大家訪問!
相關文章
- kettle 引數——變數引數和常量引數變數
- Swift語言中為外部引數設定預設值可變引數常量引數變數引數輸入輸出引數Swift變數
- Swift學習筆記(三十二)——可變引數Swift筆記
- Swift學習筆記(三十)——函式的內部引數名和外部引數名Swift筆記函式
- 引數和變數變數
- Swift: 可變引數Swift
- Bash變數和引數變數
- ES6 筆記 Rest 引數和 預設引數筆記REST
- python變數和引數Python變數
- Swift學習筆記(三十一)——引數的預設值Swift筆記
- 12.MyBatis學習--對映檔案_引數處理_單個引數&多個引數&命名引數MyBatis
- 引數匹配模型——Python學習之引數(二)模型Python
- Bootstrap Table 學習筆記之列引數(一)boot筆記
- GoldenGate學習筆記(11)_常用引數Go筆記
- iOS可變引數(不定引數)的用法iOS
- JavaScript形式引數和實際引數JavaScript
- [go 學習筆記] 二、變數、常量Go筆記變數
- python疑問5:位置引數,預設引數,可變引數,關鍵字引數,命名關鍵字引數區別Python
- 引數匹配順序——Python學習之引數(三)Python
- Swift(一)常量和變數Swift變數
- Swift 1.1語言函式引數的特殊情況本地引數名外部引數名Swift函式
- 【轉】Oracle學習筆記:INITRANS和MAXTRANS引數的作用Oracle筆記
- Pytest學習筆記8-引數化筆記
- 關鍵字引數與非關鍵字引數(可變引數)詳解
- Java對比有引數和無引數Java
- nodejs接收get引數和post引數NodeJS
- Oracle引數-隱藏引數Oracle
- 【重學Java】可變引數Java
- 什麼是請求引數、表單引數、url引數、header引數、Cookie引數?一文講懂HeaderCookie
- 查詢hadoop引數變數Hadoop變數
- 【勝通 】mysql的引數變數MySql變數
- 關於靜態引數和動態引數
- C#中命名引數和可選引數C#
- 【Java】可變引數Java
- Java可變引數Java
- Java 可變引數Java
- c# 方法引數_值引數C#
- c# 方法引數_引用引數C#