前端之家收集整理的这篇文章主要介绍了
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)
}