加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Snail—Swift基础学习之初识

发布时间:2020-12-14 01:38:56 所属栏目:百科 来源:网络整理
导读://// main.swift// Foundation//// Created by Codans on 15/11/14.// Copyright ? 2015年 YLi. All rights reserved.//print("Hello,Swift!")/*简单值let来声明常量 只能为它赋值一次var来声明变量*/var snail1 = 42snail1 = 22let snail2 = 0//下面这个会
//
//  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)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读