Swift基礎語法

---------------------Swift簡介----------------------
一、神馬是Swift?
1、Swift 是蘋果公司2014 年在WWDC(蘋果開發者大會)上發布的全新編程語言。
2、Swift在天朝翻譯為“雨燕”,其Logo如下圖

Swift Logo

3、Swift跟Objective-C一樣,可以用于開發iOS、Mac應用程序。
4、蘋果公司從2010年7月開始設計Swift語言,耗時4年打造。(據說其核心代碼是由一個人寫的)

二、Swift的語法特點
1、從它的語法中能看到Objective-C、JavaScript、C#、Python等語言的影子。其借鑒了Objective-C、JavaScript、C#、Python等語言的優點。
2、同時具備編譯型語言的高性能和腳本語言的靈活交互性。(編譯型語言:就是要保證我們所寫的代碼全部編譯通過,程序才能執行;腳本語言:你寫的代碼對一行執行一行,比如你寫了10行,第9行有Bug,那么前8行是可以執行成功的)
3、蘋果公司為什么要設計Swift語言?其目的是想取代Objective-C,Swift言語讓編程更簡單,讓生活更美好。

三、使用Swift語言進行開發的條件是什么?
1、Xcode版本>=6.0,Mac系統版本>=10.9.3
2、Swift語言自從發布之后,備受關注。據說發布當天Xcode6 beta 下載量突破1400萬次,官方電子書教程下載量37萬次。
3、Swift的首席架構師:Chris Lattner
LLVM 項目的主要發起人與作者之一
Clang 編譯器的作者
他現在是蘋果公司『開發者工具』部門的主管
領導 Xcode、Instruments 和編譯器團隊
從 2010 年 7 月開始主導開發 Swift 編程語言
Swift的大部分基礎架構均由他一人完成
綜上所述, Swift是由牛叉的公司牛叉的人設計的牛叉編程語言, 真正的天生驕傲!

---------------------Swift常量與變量----------------------

一、Swift, Hello, World!

1、打印Hello, World!到控制臺,代碼如下圖:


Swift, Hello, World!

就一行?對,你沒看錯。
2、Swift的源文件拓展名是.swift

二、Swift和其它編程語言相比有哪些變化?

1、沒有main函數,其它編程語言認為mian函數是程序的入口,Swift認為程序是從上往下一行一行執行的,因此第一行代碼就是程序入口。
2、語句結束時不需要加”;”,當然若你喜歡也是可以加”;”
3、如果同一行有多個語句,則依然需要加”;”,不建議一行寫多條語句。
4、定義標識符時必須聲明該標識符是變量還是常量。
5、聲明標識符的格式:變量/常量關鍵字 名稱:數據類型(當然你也可以不寫數據類型,Swift會自動根據初始值確定其類型),示例如下:

// 聲明一個String類型的變量
var name:String = "android_ls"
// 聲明一個String類型的常量
let desc:String = "做android開發的iOS程序員"

若你不想按上面的格式聲明一個變量或者常量,可以采用下面這種寫法,示例如下:

// 聲明一個String類型的變量
var name = "android_ls"
// 聲明一個String類型的常量
let desc = "做android開發的iOS程序員"

6、Swift中的打印語句,如下:

print("Hello, World!")

三、Swift中的常量和變量

1、在定義一個標識符時必須明確說明該標識符是一個常量還是變量
2、使用關鍵字var來定義變量
3、使用關鍵字let來定義常量
4、先來看個例子,如下圖


Swift中的常量和變量

結論:當一個字段定義為常量時是不可以修改的。

再看一個列子,示例代碼:

 let button = UIButton()
 button.frame = CGRectMake(10, 10, 100, 100)
 button.backgroundColor = UIColor.redColor()
 self.view.addSubview(button)

結論:定義為常量不可以修改的意思是,對象的引用不可以再指向其他對象,但是可以通過對象的引用修改其屬性值。
5、常量和變量的命名規則
基本上可以使用任何你喜歡的字符作為常量和變量名,示例如下:

常量和變量的命名規則
變量和常量名的注意點:

不能包含數學符號(比如 +、-、*、/)
不能是關鍵字(比如 let、var)
不能以數字開頭(比如 23d)
……

----------------Swift字符串的簡單操作--------------
字符串
1、字符串是String類型的數據,用雙引號""包住文本內容
var name = "android_ls"
2、字符串的常見操作
使用+做字符串的拼接

// 聲明一個String類型的變量
let name:String = "android_ls"
// 聲明一個String類型的常量
let desc:String = "做android開發的iOS程序員"
// 使用+做字符串的拼接
let result = name + desc

3、用反斜杠和小括號\()做字符串插值(把常量、變量插入到字符串中)

var age = 28
var result = "android_ls,今年\(age)歲"

4、把整數轉換成字符串,使用\()或者String()

var name = "android_ls"
var age = 28
var result = name + ",今年" + String(age) + "歲"

---------------Swift中常用的數據類型---------------

Swift中數據類型及用法

1、Swift中常用的數據類型有:
Int、Float、Double、String 、Bool、Character、Array、Dictionary、元組類型、可選類型

2、如何指定變量、常量的數據類型
在常量、變量名后面加: 類型名稱

var name:String = "android_ls"
var age:Int = 28

一般來說沒必要指定變量、常量的數據類型,在聲明常量、變量時賦予初始值,Swift可以自動推斷出這個變量、常量的數據類型。

我們來看下面這行代碼
var age = 28
Swift會推斷出age是Int類型,因為28是個整數

3、Swift嚴格要求變量在使用前必須進行初始化,下面的代碼是錯誤的



Swift是強類型的語言,任何一個變量或者常量都有明確的類型。

4、整數

  • 整數分為兩種:
    有符號(signed):正、負、零
    無符號(unsigned):正、零
    Swift提供了8、16、32、64的有符號和無符號整數(Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt16),比如
    UInt8 :8位無符號整型
    Int8:8位有符號整型

  • 獲取Int最值:(最大值、最小值)

var minValue = Int.min;
var maxValue = Int.max;

Int、UInt : 和平臺相關(默認,相當于OC的NSInteger)

  • 在定義變量時,別總是在考慮有無符號、數據長度的問題,盡量使用Int,這樣可以保證代碼的簡潔和可復用性。

  • 存儲范圍:
    每種數據類型都有各自的存儲范圍,比如
    Int8的存儲范圍:-128~127
    UInt8的存儲范圍:0~255

    在Swift中,如果數值超過了存儲范圍,編譯器會直接報錯,下面的語句都會直接報錯。


    如果數值超過了存儲范圍,編譯器會直接報錯
  • 整數的四種表現形式:
    十進制數:沒有前綴
    let a1 = 10
    二進制數:以0b為前綴
    let a2 = 0b1010
    八進制數:以0o為前綴
    let a3 = 0o12
    十六進制數:以0x為前綴
    let a4 = 0xA

5、浮點數

  • Swift提供了兩種浮點數類型:
    Float: 32位浮點型
    Double : 64浮點型(默認)
  • 精確度:
    Float: 至少6小數
    Double : 至少15小數
  • 浮點數的聲明
let a:Float = 3.232
let b:Double = 3.1415926
  • 如果沒有明確的說明浮點數的類型,默認是Double類型的。
    FloatDouble類型的變量不能直接進行運算操作,如下

    ```Float ```和```Double```類型的變量不能直接進行運算操作

  • 浮點數的表現形式:
    十進制(沒有前綴)
    沒有指數:let a1 = 12.7 // 12.7
    有指數:let a2 = 0.127e2 // 12.7

0.127e2 = 0.127 * 10的二次方
MeN = M * 10的N次方

十六進制(以0x為前綴,且一定有指數)

let a3 = 0xA // 10
let a4 = 0xAp1 // 10 * 2的1次方 == 10 * 2
0xMpN = 0xM * 2N次方

6、數字格式(增加額外的0和下劃線并不會影響數值原來的大小
數字可以增加額外的格式,使其更容易閱讀

  • 可以增加額外的0
let money1 = 001988
let money2 = 001988.000
  • 可以增加額外的_,以增加其可讀性
let money3 = 100_0000
let money4 = 100_000_000

示例效果圖如下:


增加額外的0和下劃線并不會影響數值原來的大小

7、Swift中基本運算,數據類型轉換
整數和浮點數支持的運算:+、-、*、/、%

Swift中基本運算

在進行基本運算時必須保證類型一致,否則會出錯。

8、類型別名

  • 使用typealias關鍵字定義類型的別名
// 給Int類型起個別名叫BoloInt
typealias BoloInt = Int

原類型名稱能用在什么地方,別名就能用的什么地方

  • 聲明變量、常量
var a:BoloInt = 23
let b:BoloInt = 27
  • 獲得類型的最值
let minValue = BoloInt.min
  • 類型轉換
let result = BoloInt(3.1416)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 關于 Swift 重要這個文檔所包含的準備信息, 是關于開發的 API 和技術的。這個信息可能會改變, 根據這個文...
    無灃閱讀 4,378評論 1 27
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,896評論 1 10
  • Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程序 ...
    大L君閱讀 3,304評論 3 25
  • 一.基礎語法: Swift 是 iOS 和 OS X 應用開發的一門新語言。然而,如果你有 C 或者 Object...
    峰子1994閱讀 691評論 0 0
  • 沒有所謂玩笑,所有的玩笑都有認真的成分。 ——弗洛伊德 生活中,很多人都喜歡說這樣一句話:“我開玩笑的,別當真。”...
    星小影閱讀 2,570評論 0 0