Swift 学习笔记(基本类型)

直接上代码,不BB。。用 playground编写!
import UIKit
//
var str = "Hello, playground"
//开发语言,面向对象
/*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!)

//循环,向下转换,判断,switch
var view:UIView = UIImageView (frame: CGRect.init(x: 0, y: 0, width: 100, height: 100))
//as 还真的不知道怎么用,是什么意思
var imageview:UIImageView = view as! UIImageView
//这个是不能够 基本数据类型的
var obj:AnyObject = imageview
//这个才能弄基本数据类型
var objc:Any = "stringName"
print(objc)

//

//数组操作
//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)
}
//[]其实这个代表一个数组
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("数组相等")
}else{

print("数组不相等")

}

//枚举
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,获取字典的每个数值
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()
//函数名,参数,返回值
func Sum(a:Int,B:Int)->Int{

return a+B

}

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

print("maxnumber==(maxnumber)")
//返回多个数据类型
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("没有")

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容