Bir Swift fonksiyonunda Inout türünde tanımlanan bir formel parametrenin değeri fonksiyon içinde değiştirilince bu değişim çağıran program parçasına da aksettirilir.
Aşağıdaki örnekte a ve b Inout türünde formel parametrelerdir.
vvv(&xx, &yy)
komutu ile vvv fonksiyonu çağrılmakta ve xx’in değeri 40 a’ya ve yy’nin değeri 80 ise b’ye geçirilmektedir: a=40 ve b=80 olmuştur.
Fonksiyon içinde a=b+2 komutu ile a=82 olarak değişmektedir.
B=b-a komutu ise b=80-82=-2 değerini elde etmektedir. Bu durumda a=82 ve b=-2 olmaktadır. Bu değişim a->xx ve b->yy şeklinde nakledilmekte ve xx=82 ve yy=-2 olmaktadır. Böylece aşağıdaki gibi xx vey y,vvv fonksiyonu çağrılmadan önce ve çağrıldıktan sonar yazdırılısa,
vvv(a: &xx, b: &yy)
print("xx= \(xx), ve yy=\(yy)")
değerleri bulunacaktır.
vvv FONKSİYONU:
var xx = 82
var yy = -2
func vvv( a: inout Int, b: inout Int) {
a=b+2
b=b-a
}
print("xx= \(xx), ve yy=\(yy)")
vvv(a: &xx, b: &yy)
print("xx= \(xx), ve yy=\(yy)")
print("xx= \(xx), ve yy=\(yy)")
PROGRAMIN ÇIKTISI
x= 40, ve yy=80
xx= 82, ve yy=-2
Program ended with exit code: 0