Swift語言學習日誌 2

2021-09-27 13:16:12 字數 2964 閱讀 8846

變數與常量分別用varlet表示,基本的簡單定義如下,常量不可修改,變數可以修改,swift語言是一門現代化語言,很多情況不需要制定型別,編譯器會自動判斷型別,在xcode中可以按住option並且把滑鼠移動到變數名稱上檢視變數型別

let maximumnumberofloginattempts =

10var currentloginattempt =

0

當然有些情況也是需要定義型別的,定義型別如下:

var welcomemessage:

string

var red, green, blue:

double

在變數名稱後面加上和變數型別即可,也可以一行定義多個同型別變數

swift中注釋用///* */,前者表示行注釋,後者表示段注釋

// this is a comment.

/* this is also a comment

but is written over multiple lines. */

swift語言中一般不需要用到分號,但是當你需要在一行寫多段**時,需要用分號隔開

let cat =

"?";

print

(cat)

// prints "?"

整數分為有符號和無符號整數int為有符號整數uint為無符號整數,他們的範圍與機器有關,32位機器的表示範圍是int32,64位機器為int64

浮點數有兩種floatdoubledouble有著64位的雙精度,float是32位的單精度數

bool數值只有兩個值,truefalse,與數字無關,不要與c/c++混淆

let orangesareorange =

true

let turnipsaredelicious =

false

元組可以將不同型別資料集合到一起

)// http404error is of type (int, string), and equals (404, "not found")如下轉換出來的數字是可選值型別(int?),可選值表示值有可能為空,沒有意義

let possiblenumber =

"123"

let convertednumber =

int(possiblenumber)

// convertednumber is inferred to be of type "int?", or "optional int"

nil的意義為空

var serverresponsecode:

int?

=404

// serverresponsecode contains an actual int value of 404

serverresponsecode =

nil// serverresponsecode now contains no value

直接輸出可選值型別是會有optinal(value),需要用!解開

if convertednumber !=

nil// prints "convertednumber has an integer value of 123."

可選值的轉換還可以用if-let語句

if

let constantname = someoptional

iflet actualnumber =

int(possiblenumber)

else

// prints "the string "123" has an integer value of 123"

iflet firstnumber =

int(

"4")

,let secondnumber =

int(

"42"

), firstnumber < secondnumber && secondnumber <

100// prints "4 < 42 < 100"

在swift語言中沒有隱式轉換,不同型別之間需要進行顯式轉換

let toobig:

int8

=int8

.max

+1

如果超過數值表示範圍,則會報錯

斷言可以用於除錯bug

let age =-3

assert

(age >=0,

"a person's age can't be less than zero."

)// this assertion fails because -3 is not >= 0.

// in the implementation of a subscript...

precondition

(index >0,

"index must be greater than zero."

)

Swift語言學習筆記(4)

public class somepublicclass internal class someinternalclass fileprivate class somefileprivateclass private class someprivateclass 常量,變數,函式的訪問級別 publ...

Swift語言學習筆記(四)

67.如果結構體 struct 的例項被宣告為常量的話,就不能對其屬性進行修改,即使是 var型別的屬性。而對於類 class 來說則不是這樣,如果乙個類的例項被宣告為常量,仍然可以修改其 var屬性。68.惰性屬性 lazy property 使用關鍵字 lazy 新增在宣告前面 惰性屬性在使用時...

程式語言學習日誌

從九月份找工作到現在,我發現自己除了英語閱讀還不錯之外,基本上沒有其他的優勢。從大二開始,c語言課程設計就沒有好好參與,至於參加其他的學生團隊也因為比較孤僻 沒有自信,或者進入了之後無法堅持下來,整個大學過的很狼狽,可以用一無所長和荒廢兩個字來形容吧。想起來,高中老師教給我們乙個很好的習慣,寫年終總...