Swift是弱類型語言嗎?
答案是否定的,Swift 是強類型語言,下面上一個栗子
上面代碼中報錯了,報的是不能指定 Int 類型為 String 類型。
這里要注意一下在 Swift 中的整形是I,而字符類型首字母是S,都是大寫字母
在 Swift 中我們可以直接聲明 var 類型變量,可以不直接指定其類型,這是Swift語言的一種機制,當我們聲明一個變量的初始值后,就已經(jīng)確定這個變量是什么類型,Type Inference (類型推斷)
如何查看一個變量的類型
在開發(fā)中我們一般如何查看一個變量的類型呢?我們只需要在鍵盤上點擊 option 鍵鼠標點擊在變量名上會顯示其具體類型(鼠標會變成問好),如下圖所示
Swift中常量和變量的聲明
常量是在程序運行過程中,不會被修改的量。也就是說,常量一經(jīng)賦值,就不能再次賦值了。
變量是在程序運行過程中,可以被多次賦值的量。也就是說,常量即使已經(jīng)賦值,還可以再次賦值。
在C語言中,如果我們要聲明常量,需要在類型前面加上const。例如,聲明一個值為10的整型常量i的語句如下:
const int i = 10;
在Swift中,我們使用let來聲明常量,使用var來聲明變量。例如,同樣是聲明一個值為10的整型常量i的語句如下:
let i: Int = 10
聲明一個值為20的整型變量j的語句如下:
var j: Int = 20
常量或變量的類型必須和你賦給它們的值保持一致。但是,你可以不用明確地聲明類型,如果在聲明的同時賦值的話,編譯器會自動推斷類型。例如,我們編寫出如下的語句:
var k = 30let str = "Hello!"
根據(jù)所賦的值,編譯器會自動推斷出k為整型,str為字符串(String)類型。
如果所賦的初始值沒有提供足夠的信息,甚至是沒有初始值,那就需要在變量后面指明類型,用冒號分隔。
Swift同樣支持值類型之間的轉(zhuǎn)換,但Swift中的值永遠不會被隱式轉(zhuǎn)換為其他類型。如果需要把一個值轉(zhuǎn)換成其他類型,需要使用顯式轉(zhuǎn)換。如下語句所示:
let desc = "My age is "let age = 30let info = desc + String(age)
上面的語句聲明了desc為String類型,age為整型,而info也為整型。通過顯式類型轉(zhuǎn)換,info的值為“My age is 30”。
在Swift中,有一種把整型值轉(zhuǎn)換成字符串的方法簡單方法:把整型值寫到括號中,并且在括號之前寫一個反斜杠/。如下代碼所示:
let japanese = 2let russian = 3let japanesedesc = "There are /(japanese) japaneses."let foreignerdesc = "There are /(Japanese+ russian) foreigners."
在以上代碼中,japanesedesc的值為“There are 2 japaneses.”,foreignerdesc的值為“There are 5 foreigners.”
最后,我們編寫下面的程序來鞏固在Swift中對常量和變量的聲明:
let name = "zzx"let desc = "My name is "let namedesc = desc + nameprint(namedesc)let age = 30var futureage = 0futureage = age + 5let info = "After 5 years, my age is /(futureage)."print(info)
程序運行結(jié)果為:
My name is zzx After 5 years, my age is 35.
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。
新聞熱點
疑難解答
圖片精選