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

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

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

Swift是弱類型語言嗎?

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

上面代碼中報錯了,報的是不能指定 Int 類型為 String 類型。

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

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

如何查看一個變量的類型

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

Swift中常量和變量的聲明

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

變量是在程序運(yùn)行過程中,可以被多次賦值的量。也就是說,常量即使已經(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 = 30
let str = "Hello!"

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

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

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

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

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

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

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.”

最后,我們編寫下面的程序來鞏固在Swift中對常量和變量的聲明:

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é)

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

相關(guān)文章

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

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

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

    詳解Swift?中的幻象類型

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

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

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

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

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

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

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

    iOS Swift讀取本地json文件報錯的解決方法

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

    解析Swift語言面相對象編程中的繼承特性

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

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

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

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

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

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

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

最新評論