欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Swift中常量和變量的區(qū)別與聲明詳解

 更新時(shí)間:2017年11月16日 09:44:04   作者:Programmer_Zhou  
Swift語(yǔ)言同樣和Java和OC等語(yǔ)言一樣是同樣是需要聲明常量和變量的,下面就讓我們來(lái)學(xué)習(xí)一下Swift的常量和變量。這篇文章主要給大家介紹了關(guān)于Swift中常量和變量的區(qū)別與聲明的相關(guān)資料,需要的朋友可以參考下。

Swift是弱類型語(yǔ)言嗎?

答案是否定的,Swift 是強(qiáng)類型語(yǔ)言,下面上一個(gè)栗子

上面代碼中報(bào)錯(cuò)了,報(bào)的是不能指定 Int 類型為 String 類型。

這里要注意一下在 Swift 中的整形是I,而字符類型首字母是S,都是大寫(xiě)字母

在 Swift 中我們可以直接聲明 var 類型變量,可以不直接指定其類型,這是Swift語(yǔ)言的一種機(jī)制,當(dāng)我們聲明一個(gè)變量的初始值后,就已經(jīng)確定這個(gè)變量是什么類型,Type Inference (類型推斷)

如何查看一個(gè)變量的類型

在開(kāi)發(fā)中我們一般如何查看一個(gè)變量的類型呢?我們只需要在鍵盤上點(diǎn)擊 option 鍵鼠標(biāo)點(diǎn)擊在變量名上會(huì)顯示其具體類型(鼠標(biāo)會(huì)變成問(wèn)好),如下圖所示

Swift中常量和變量的聲明

常量是在程序運(yùn)行過(guò)程中,不會(huì)被修改的量。也就是說(shuō),常量一經(jīng)賦值,就不能再次賦值了。

變量是在程序運(yùn)行過(guò)程中,可以被多次賦值的量。也就是說(shuō),常量即使已經(jīng)賦值,還可以再次賦值。

在C語(yǔ)言中,如果我們要聲明常量,需要在類型前面加上const。例如,聲明一個(gè)值為10的整型常量i的語(yǔ)句如下:

const int i = 10;

在Swift中,我們使用let來(lái)聲明常量,使用var來(lái)聲明變量。例如,同樣是聲明一個(gè)值為10的整型常量i的語(yǔ)句如下:

let i: Int = 10

聲明一個(gè)值為20的整型變量j的語(yǔ)句如下:

var j: Int = 20

常量或變量的類型必須和你賦給它們的值保持一致。但是,你可以不用明確地聲明類型,如果在聲明的同時(shí)賦值的話,編譯器會(huì)自動(dòng)推斷類型。例如,我們編寫(xiě)出如下的語(yǔ)句:

var k = 30
let str = "Hello!"

根據(jù)所賦的值,編譯器會(huì)自動(dòng)推斷出k為整型,str為字符串(String)類型。

如果所賦的初始值沒(méi)有提供足夠的信息,甚至是沒(méi)有初始值,那就需要在變量后面指明類型,用冒號(hào)分隔。

Swift同樣支持值類型之間的轉(zhuǎn)換,但Swift中的值永遠(yuǎn)不會(huì)被隱式轉(zhuǎn)換為其他類型。如果需要把一個(gè)值轉(zhuǎn)換成其他類型,需要使用顯式轉(zhuǎn)換。如下語(yǔ)句所示:

let desc = "My age is "
let age = 30
let info = desc + String(age)

上面的語(yǔ)句聲明了desc為String類型,age為整型,而info也為整型。通過(guò)顯式類型轉(zhuǎn)換,info的值為“My age is 30”。

在Swift中,有一種把整型值轉(zhuǎn)換成字符串的方法簡(jiǎn)單方法:把整型值寫(xiě)到括號(hào)中,并且在括號(hào)之前寫(xiě)一個(gè)反斜杠\。如下代碼所示:

let japanese = 2
let russian = 3
let japanesedesc = "There are \(japanese) japaneses."
let foreignerdesc = "There are \(Japanese+ russian) foreigners."

在以上代碼中,japanesedesc的值為“There are 2 japaneses.”,foreignerdesc的值為“There are 5 foreigners.”

最后,我們編寫(xiě)下面的程序來(lái)鞏固在Swift中對(duì)常量和變量的聲明:

let name = "zzx"
let desc = "My name is "
let namedesc = desc + name
print(namedesc)

let age = 30
var futureage = 0
futureage = age + 5
let info = "After 5 years, my age is \(futureage)."
print(info)

程序運(yùn)行結(jié)果為:

My name is zzx 
After 5 years, my age is 35.

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 詳解Swift中的函數(shù)及函數(shù)閉包使用

    詳解Swift中的函數(shù)及函數(shù)閉包使用

    Swift的函數(shù)在創(chuàng)建和調(diào)用時(shí)非常簡(jiǎn)潔,在編寫(xiě)具有閉包特性的函數(shù)時(shí)同樣也相當(dāng)方便,以下我們就來(lái)詳解Swift中的函數(shù)及函數(shù)閉包使用:
    2016-06-06
  • 詳解Swift?中的幻象類型

    詳解Swift?中的幻象類型

    讓我們來(lái)看看一種技術(shù),它可以讓我們利用?Swift?的類型系統(tǒng)在編譯時(shí)執(zhí)行更多種類的數(shù)據(jù)驗(yàn)證消除更多潛在的歧義來(lái)源,并幫助我們?cè)谡麄€(gè)代碼庫(kù)中保持類型安全,通過(guò)使用幻象類型(phantom?types),對(duì)Swift?幻象類型相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-05-05
  • swift 3.0 正則表達(dá)式查找/替換字符的實(shí)現(xiàn)代碼

    swift 3.0 正則表達(dá)式查找/替換字符的實(shí)現(xiàn)代碼

    正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。本文重點(diǎn)給大家介紹swift 3.0 正則表達(dá)式查找/替換字符的實(shí)現(xiàn)代碼,需要的朋友參考下吧
    2017-08-08
  • swift版webview加載網(wǎng)頁(yè)進(jìn)度條效果

    swift版webview加載網(wǎng)頁(yè)進(jìn)度條效果

    這篇文章主要為大家詳細(xì)介紹了swift實(shí)現(xiàn)webview加載網(wǎng)頁(yè)進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • swift 3.0中實(shí)現(xiàn)字符串截取、比較的方法示例

    swift 3.0中實(shí)現(xiàn)字符串截取、比較的方法示例

    時(shí),為了使用現(xiàn)有的字符串生成一個(gè)新的字符串,我們可以使用截取字符串的方法實(shí)現(xiàn)。下面這篇文章主要給大家介紹了關(guān)于swift 3.0中實(shí)現(xiàn)字符串截取的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒。
    2017-10-10
  • iOS Swift讀取本地json文件報(bào)錯(cuò)的解決方法

    iOS Swift讀取本地json文件報(bào)錯(cuò)的解決方法

    只要是app開(kāi)發(fā)者都知道,從服務(wù)器端獲得的數(shù)據(jù)要不就是json格式的數(shù)據(jù),要么就是xml格式的數(shù)據(jù),而這篇文章主要給大家介紹了關(guān)于iOS Swift讀取本地json文件報(bào)錯(cuò)的解決方法,需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 解析Swift語(yǔ)言面相對(duì)象編程中的繼承特性

    解析Swift語(yǔ)言面相對(duì)象編程中的繼承特性

    這篇文章主要介紹了解析Swift語(yǔ)言面相對(duì)象編程中的繼承特性,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • Swift實(shí)現(xiàn)3D輪播圖效果

    Swift實(shí)現(xiàn)3D輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)3D輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Swift語(yǔ)言中字符串相關(guān)的基本概念解析

    Swift語(yǔ)言中字符串相關(guān)的基本概念解析

    這篇文章主要介紹了Swift語(yǔ)言中字符串相關(guān)的基本概念解析,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • Swift中定義二維數(shù)組的方法及遍歷方法示例

    Swift中定義二維數(shù)組的方法及遍歷方法示例

    這篇文章主要介紹了Swift中定義二維數(shù)組的方法及遍歷方法示例,本文直接給出代碼示例,需要的朋友可以參考下
    2015-07-07

最新評(píng)論