Swift基本概念

2021-07-09 16:12:20 字數 4991 閱讀 4891

準備:

1 在 swift中匯入標頭檔案只需要import就可,無需「」和<>

2 在swift中自定義的檔案都不要匯入標頭檔案可以直接使用

3 在swift中**不用再寫分號

例如:

一 常量和變數

a 定義變數的實質是開闢記憶體空間

// c 中:int a = 1;

let a = 1

//let表示是乙個常量,相當於const修飾

var b = 2

// var 表示變數,

b = 5

//運算子的兩邊要空格都要空格,不加空格都不加空格(保持對稱0.0)

var c = 2.36

//在swift中資料型別是自動腿短資料型別的,根據等號右邊的的值判斷是什麼資料型別複製給等號左邊的變數(常量)

// 指明資料型別的定義:在變數後面加上冒號(:)在冒號後面寫上資料型別 。例下

var d:int = 4

b 在c和oc中變數名命名規則:由數字,下劃線,字母組成,其中數字不能開頭,可以使用$(c和oc都是使用ascii碼編碼方式)

在swift中什麼都可以當做變數名,使用的是unicode的編碼方式

var 你好 = "o(∩_∩)o~"

var o(∩_∩)o~ = "來"

二 資料型別

//強制型別轉換:想要轉換的型別()

varf:float = 25.36

varg:int = 2

varh:int = g + int(f)

print(h)--->

27//建立乙個bool型別 在這的bool值為true或fa

varj:bool = true

//print(j)為true

三 字串

//a 建立乙個空的字串

var str_empty = ""

var str1_empty = string()

//b 字串的拼接

var str1 = "你好"

var str2 = "shuai"

let str3 = str1+str2

print(str3) //輸出的為「你好shuai」

//c 計算字串的長度

print(str3.characters.count)

//d 在swift中沒有格式化輸出符,所有需要原樣輸出都使用\(),在()內寫上需要輸出的內容

print("a = \(a)")

//f 在swift中方法的呼叫使用點語法

// 在swift中if語句的()不用寫

if str_empty.isempty

//g 大小寫的轉換

var str4 = "hello handsomeboy"

str4.uppercasestring //大寫

str4.lowercasestring //小寫

四 陣列

//c:陣列只能存放同一種型別的資料

//oc:陣列只能存放物件,可以不是同一類的物件

//swift:在指定的陣列元素型別的情況下只能存放同一種型別的資料 例下:

var array3:array

= [1,2,8]

//用var修飾的就是可變陣列

//let修飾的就是不可變陣列

//在swift中陣列用的形式表示,也可以用 array()初始化

vararray = [1,2,3]

var array1 = [1,2.2,3]

var array2 = [1,"afhg",3]

//還是通過下標取元素

print(array[0])

//完整寫法

let array4:array

= [1,2,3,4]

//不可變陣列不僅僅是陣列本身的長度不能改變 ,而且陣列裡面的元素也不能改變

//array4[1] = 8

//陣列的常用方法

//新增

//插入

array.insert(5, atindex: 4)

//刪除

array.removeatindex(4)

//範圍性取值

array[0...2] = [4,4,4]

print(array)

//遍歷 for沒有括號

for value in array

五 元組

//元組就是元素的組合,在swift中用來修飾乙個複雜的變數,類似於c中的結構體

var person = ("xiaohuang",25,"guangzhou")

print("person的年齡\(person.1)")

//使用元組同時對多個變數進行賦值

//如果在元組中某個值不想要使用下劃線("-")代表

//var name = "xiaohuang"

//var address = "gaungzhou"

var (name,_,address) = person

print(name) //--->

"xiaohuang"

print(address) //--->

"guangzhou"

六 字典

//<>裡面寫的是鍵值對的型別

var dic:dictionary = ["k1":"v1","k2":"v2","k3":"v3"]

//在swift中的常用方法

//修改:在swift中通過中括號的形式找到key所對應的值

dic["k1"] = "v1"

dic.updatevalue("value1", forkey: "k1")

print(dic)

//刪除

dic.removevalueforkey("k3")

print(dic)

//獲取字典的keys和values

//取出來的是swift裡面的資料格式,不能直接使用

array(dic.values)

七 流程控制

var k =1

if1 == k

//swift

//1 必須要有default

//2 每個case裡面至少要寫一句**

//3 每個case裡面自帶break

var l =4

switch l

//case可以是乙個範圍,而且可以交叉,如果兩個case交叉只走第一種情況

var m =10

switch m

//case還可以雙重判定

switch m

八 迴圈語句

//while和do while和c語言的沒有什麼區別

//for迴圈的()不用寫

// 1,9,3,6,8,5,4,2 //氣泡排序優化,實現跳出不必要的排序

// 1 判斷是否為正確結果

// 2 跳出排序

var arr = [1,9,3,6,8,5,4,2]

forvar i = 0;i < 7;i++

}if flag == 1

}print(arr) // --->(1 2 3 4 5 6 8 9)

9⃣ 列舉

enum season:string

//在列舉變數中要想獲取到真實值需要在後面新增乙個rawvalue

print(season.summer.rawvalue)

⑩ 函式

//函式的語法

/*func是函式的關鍵字

func 函式名(引數列表)->返回值型別

*///1 定義乙個函式

func sayhi (name:string)->

string

//2 函式的呼叫

sayhi("張三")

//3 在swift中通常使用元組返回多個值

func funname()->(a:int,b:int)

funname().a

//4 外部引數名

func personinfo(name:string,age:int,address:string)->

string

//從xcode7開始只有第乙個引數沒有外部引數名

personinfo("啦啦", age: 25, address: "廣州")

//在原來的內部引數名前面可以新增乙個外部引數名

func personinfo1(name name:string,age age:int,address address:string)->

string

personinfo1(name: "牠試", age: 50, address: "北漂")

//5 傳數值和傳位址

//傳數字

func changevalue(var num:int)

var num1 =

3changevalue(num1)

//傳位址(inout關鍵字可以將實參位址傳遞給形參)

func changevalue1(inout num:int)

var num2 =

3changevalue1(&num2)

print(num2)

//6 函式可以巢狀

func test1()

test2()

print("test1")

}test1()

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...

XSLT基本概念

我們首先來澄清乙個概念,大家可能聽說過xsl extensible stylesheet language xsl和我們這裡說的xslt從狹義上理解是一樣的,而按照w3c的標準,xslt的說法更嚴格些,因此我們在文章中統一使用xslt的稱法。它們之間具體的關係我們會在下面講述。1.1 什麼是xslt...