Snail—Swift基础学习之初识

//
//  main.swift
//  Foundation
//
//  Created by Codans on 15/11/14.
//  Copyright © 2015年 YLi. All rights reserved.
//

print("Hello, Swift!")

/*
简单值
let来声明常量 只能为它赋值一次
var来声明变量
*/
var snail1 = 42
snail1 = 22
let snail2 = 0
//下面这个会报错
//snail2 = 4


//上面这些编译器会自动识别类型 也可以指定其类型
let snail3 : Double = 99
//下面这是字符
let snail4 : Character = "c"
//下面这个是字符串  需要转换
let snail5 = "sa"

//============字符串=================
let label = "My name is Snail."
let button = 250
//不能直接拼接 要强转一下
let lb = label + String(button)

//更直接的方式把值转换为字符串  加上反斜杠 和括号 反斜杠相当于转义
let apple = "I am a boy, I \(22) years old"
print(apple)

//============数组=================
//一个空的存在字符串的数组、其他类型不能存
let emptyArr = [String]()

var arr = ["1","2","3","4","5"]
print(arr[1])   //----2
//可以修改数组中的值
arr[1] = "21"
print(arr[1])   //----21

//============字典=================
//空字典-----卧槽来 感觉怎么这么奇葩
let emptyDict = [String:Float]()

var dict = ["1":"one","2":"two"]
//!号后面看看再说 具体也没太懂
print(dict["1"])    //----one
print(dict["1"]!)    //----Optional("one")
//修改字典
dict["1"] = "oneone"
print(dict["1"])    //-----Optional("oneone")


//============控制流=================
/*
可以使用if和switch for-in、for、while、repeat-while来进行循环
不过语句的大括号就必须得  条件和循环变量括号可以省略
*/
//if条件必须是bool表达式 不能像之前 if (score) 编译器不会跟0去作比较
let scores = [1,2,3,4,5,6,7]
for score in scores{
    if score > 3{
        print("niubi")
    }else{
        print("bu niu bi")
    }
}

/*
用 if和let来处理缺省值  这些值可以用可选值来代表 
可选值是一个具体的值或者是nil表示 
在类型后面加一个问号来标记这个变量的值是可选的
*/
var optionStr : String? = "helhe"
print(optionStr == nil)   //----false

var optionalName:String? = "WuJian"
var dage = "big,"
if let name = optionalName{
    dage = "bigkk,\(name)"
}else{
    dage = "dsaasd"
}
print(dage)     //---bigkk,WuJian

/*
Switch 支持任意类型的数据以及各种比较操作--不仅仅是整数
运行switch中匹配的字句后,会推出switch语句 不需要写break
*/
let WJJ = "SB"

switch WJJ{
case "red":
    print("red")
case "blue","yellow":
    print("all")
case let x where x.hasPrefix("S"):
    print("dsaassadasas")
default:
    print("hhh")
}


//============for-in============
/*
这个for-in 我简直是
for-in循环中 需要两个变量(kind,numbers)来表示每个键值对
*/
let numberddd = [
    "2":[21,22,23,24,25],
    "3":[31,32,33,34,35],
    "4":[41,42,43,44],
]
for (kind,numbers) in numberddd{
    for number in numbers{
        print(number)
    }
}

//============while============
var n = 2
while n < 100{
    n *= 2  //n = n * 2
}
print(n)


var b = 2
repeat {
    b *= 2
}while b < 100
print(b)

//可以使用..< 来表示范围,传统写法也可以
//0..4 输出0,1,2,3  
//0...4输出0,1,2,3,4
for i in 0..<4{
   print(i)
}

for var i = 0;i < 4;++i{    //---为毛i++不可以???呵呵
    print(i)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值