Swift 學習筆記(基本類型)

直接上代碼,不BB。。用 playground編寫!
import UIKit
//
var str = "Hello, playground"
//開發(fā)語言,面向對象
/*1.let 常量,這個不要點,我不知道是哪里來的,;不要結束符號,我不知道是那種語言

/
let string = "hello"
var a = 10
/

1.var 只是告訴編譯器這個是一個變量,具體是什么類型還是要告訴編譯器的

*/
var Scenes,scripts,sounds:String

let swfitone,swifttow:String

swfitone = "Something Just Like This , this is sing"
swifttow = "The is New swift String "
Scenes = "Test switf string practice Unity scenes"
scripts = "This is test unity Scripts Ptactice"
sounds = "I Don,t Understand This Varlable"
/*
這個是一個常量賦值過了,就不能修改了。!
swfitone = "time show paly"
if type Don,t Agree,Don,t JiSuan ,Swift No Support
如果類型不一致,不能直接計算,swfit 不支持自動類型轉換
*/
var Myname,speed:NSInteger
speed = 10

//墻磚類型,跟oc是一樣的。
var Myprice = Double(speed);

var stringtest = "YinShiShengm"

var StringtestTo:String = "XianShishengM";
//打印與C# 一致
print(Myprice)
//-----The Above Let Vat Statement Over -----

let Error = (404," Net Work Not Found")

//var DataSouer:String

print(Error.0)
let (code,status) = Error

print("code = (code)status = (status)")

//var Mystring:String?="8888"
//print(Mystring)
var Mystring :String? = "9999"
if var testChapao = Mystring{

print("如果有值就賦值,沒有值就不賦值");
testChapao = Mystring!;
print(testChapao)

}else{
print("str是nil")//str不賦初始值時

}

/*
1.字符串方法
2.拼接,追加
*/

var stringT = "stringTest1"

var stringT2 = "stringTest2"
//相加
var stringcomporer = stringT+stringtest
//追加C字符
stringT.append(Character("G"))
//追加字符串
stringT.append("Srroy")

print("string == (stringT)")
//追加
var string5 = "(stringT)china"

print("string5 = (string5)")
//強轉
var string6 = "100"
var string7 = "300"
//跟OC是一樣的
var string8 = Int(string6)

var floatValue = Float(string7)
var string9 = String(floatValue!)

/*
1.在swfit里 所有的變量,用?修飾,并且沒有初值,都是nil
2.? opitional 可選值,要么為nil
3.!拆包,如果要拿出變量的可選值,就必須拆包
4.在swfit中,如果聲明一個變量,不用?或!修飾的話,他是沒有值的,使用時會崩潰的
*/
//這樣就定義了一個可選的int型
var Monye:Int? = 100
if Monye == nil {
print("沒有值")
}else{
print("有值")
}

//如果要拿出來變量的值就必須拆包。
print(Monye!)
var Sugestring:String? = "88"
print(Sugestring!)
//如果是這樣,就一定會有值!可以不用拿直接打印的
var discount:Float! = 3.5
print(discount)

var IntZh = Int(string5)

//Obcjet.isEmpty
if string5.isEmpty {
print("字符串為空")
}else{

print("字符串不為空")

}

if string7 == string5 {
print("字符串相等")
}else{

print("字符串不等")

}

string7.hasPrefix("string")

string7.hasSuffix("str")

//print(JsonData!)

//var jsonstr2 = String(JsonData!, String.Encoding.utf8)
//var jsonStr2 = String(data: JsonData!, String.Encoding.utf8)
//var Jsonsrt2 = String(Data:JsonData!,encoding:NSUTF8StringEncoding)
var Jsonstr = "stringDataholle"
var JsonData:Data? = Jsonstr.data(using: String.Encoding.utf8)
//這個為什么一定要拆包,我擦!
var sss:String! = String.init(data: JsonData!, encoding: String.Encoding.utf8)

var stringjsonself = sss

print(stringjsonself!)

//循環(huán),向下轉換,判斷,switch
var view:UIView = UIImageView (frame: CGRect.init(x: 0, y: 0, width: 100, height: 100))
//as 還真的不知道怎么用,是什么意思
var imageview:UIImageView = view as! UIImageView
//這個是不能夠 基本數(shù)據(jù)類型的
var obj:AnyObject = imageview
//這個才能弄基本數(shù)據(jù)類型
var objc:Any = "stringName"
print(objc)

//

//數(shù)組操作
//var arr1 = ["A","B","C","D",1,2]
//隱士轉化基本上不行了,這是其他方法的實例化
var arrint:[Int] = [1,2,3,4]
var arrlintl:Array<Int> = [1,2,3,4]
var arrstring:Array<String> = Array<String>()

//arrstring.append("wudi")
//arrstring.append("TL")
arrstring.append("ssss")
arrstring.append("shenwukong")

arrstring.append(contentsOf: ["hehe","wukongz"])

for itmess in arrstring {
print(itmess)
}
//[]其實這個代表一個數(shù)組
var arrFloar:[Float] = Float
//,你可以像C#一樣的
var Arrfloat:Array<Float> = Array<Float>()
//初始化方法,都是一樣的,這個每個都是結構體了,
var arrstring1:[String] = Array.init(repeating: "wudi", count: 3)

let index:Int = arrstring1.startIndex

let count:Int = arrstring1.count

print("count = (count)")

arrstring1[0] = "Tlzuishai"
//移除全部元素
arrstring1.removeAll()
//判斷是否為空
if arrstring.isEmpty {
print("empty")
}else{

print("No empty")

}

if arrstring1 == arrstring {
print("數(shù)組相等")
}else{

print("數(shù)組不相等")

}

//枚舉
enum DeviceType{

case Iphone4
case iphone4s
case iphone5
case iphone5s
case iphone6
case iphone6s
case iphone7
case iphone7pules

}
var type = DeviceType.iphone7

if type == DeviceType.iphone7 {
print("是iphone 7")
}else{

print("不是iphone 7 ")

}

//字典,遍歷
var arrdic:[String] = ["china","USA","Japan","ShangHai"]

//遍歷時可以獲取下標和值
for (indexs,vale2) in arrdic.enumerated() {
print("index==(indexs),values ==(vale2)")
}

//
var stringfor = "i lover MySelf"
//變量字符串
for temo in stringfor.characters {
print("forChai=(temo)")
}

//var dic:[Dictionary] = ["page":"1","money":"100",1:1]

var dic:[Int:Int] = [1:2,3:4]

var dic1:Dictionary<Int,String> = [1:"123",2:"456"]

//實例化,要不前面給他 要不后面給他 實例化
var dic2 = Dictionary<Int,String>()

var dic3:Dictionary<Float,String> = Dictionary.init()

dic3.updateValue("Tl", forKey: 1.0)

print(dic3)

//他沒有第一個0元素的
dic3[1] = nil

print(dic3)

dic3.removeValue(forKey: 1.0)

var Dic4:Dictionary<Int,String> = [1:"Tl",2:"baw",3:"wudi"]
//獲取每個key,獲取字典的每個數(shù)值
var keys = Array(Dic4.keys)

for i in keys {
print("K = (i)")
}
var valuse = Array(Dic4.values)

for v in valuse {
print("valus = (v)")
}

for tmp in Dic4 {
print("key = (tmp.0)valus = (tmp.1)")
}
for (keys,valus2) in Dic4 {
print("key = (keys) valus2 = (valus2)")
}
//方法的聲明
func test(){

print("這個跟C#一樣")

}
test()
//函數(shù)名,參數(shù),返回值
func Sum(a:Int,B:Int)->Int{

return a+B

}

var maxnumber = Sum(a: 10, B: 2)

print("maxnumber==(maxnumber)")
//返回多個數(shù)據(jù)類型
func Nax(a:Int,b:Int,c:Int)->(Int){

return a+b+c

}

func Min (a:Int,B:Int,C:Int)->(Int){

return a-B-C

}
func getMaxandMin(q:Int,W:Int,C:Int)->(Int,Int){

var CurrenMax = q
var CurrentMin = W
CurrenMax = Nax(a: W, b: q, c: C)

CurrentMin = Min(a: q, B: W, C: C)

return (CurrenMax,CurrentMin)

}

var (max1,min1) = getMaxandMin(q: 10, W: 1, C: 1)

print("max1 = (max1)")

print("min1 = (min1)")
//inout 在內部修改傳過來的值
func getLnout (y:Int){

}

//下劃線的使用,元祖 是一個類型
let point = (x:100,y:100,Z:100)

let (_,y,Z) = point

print("y = (y)")
print("z = (Z)")

var Ts:String? = "ssssss"
if var _ = Ts {
print("來了")
}else{

print("沒有")

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容