自学swift(一)语法记录

一、常量和变量

let maxNum = 1000                    //常量
var sum = 999                        //变量
sum = 10000                          //可改变变量的值

二、声明类型

var website:NSString                 //声明类型
website = "my name is ..."           //赋值
print(website)

三、大数位数字区分

let hahaha = 1_000_000               //可以用_区分大数位数字,不影响赋值

四、类型强转

let a = 3.0
let b = 1
let pi = a + Double(b)               //不能两个类型不同的数值相加,必须强转类型一致

五、类型强转

let 哈哈 = "你并不认识我"              //可以用汉字当变量名
哈哈 + ".我是哈哈"                    //字符串拼接

六、bool

let father = true                   //bool值必须是小写的true,false
let mother = false

//if语句写法,条件不加括号,而且不为0的数值不表示真,条件必须是表达式或者布尔值
if 3 + 5 == 8 {
    print("mother")
}
else if father
{
    print("father")
}

七、元组

let connetResult = (404, "NOT FOUND")               //元组 
let (connrctState, ResultStr) = connetResult        //给元组中值起名,方便提取
connetResult.0                                      //提取元组中值
ResultStr                                           //提取元组中值


let registResult = (isRegisterSucces : true , nickName : "花花" , sex :"女")
                                                    //直接给元组值起名
registResult.isRegisterSucces                       //提取元组中值
registResult.nickName                               //提取元组中值
registResult.2                                      //提取元组中值


let loginReult = (true, "女神")
let (isLogin, _ ) = loginReult                      //可以用_忽略不想提取的值
if isLogin {
    print("登录成功")
}


let loginResult : (Bool , String) = (true , "女神")  //标记类型

八、Optionals可选值

可选值,或者是一个值,或者没有值,没有值时为nil

var p:Int
p = 1
p                                            //没有经过上一步初始化的值,是不可以直接使用的

var  imOptional:Int?                         //定义可选值
imOptional                                   //可直接使用
imOptional = 12                              //也可初始化一个值


//let userInput = "abc"                                      
let userInput = "18"                         //userInput为用户输入的年龄
var age = Int(userInput)                     //age是提取输入值能否转成int行,返回可选值类型

if age != nil {
    print("your age is \(age)")              //\(age)   可输出age值  但会输出Optional类型提示
    print("your age is \(age!)")             //\(age)   可输出age值  用感叹号表示明确有值,进行解包
    //print("your age is" + String(age))     //\(age)   会报错,不能强制转换可选项
    print("your age is" + String(age!))      //\(age)   在明确有值的情况下,用!解包就可以强制转换
} else {
    print("Invalidate userInput")
}


//Optional Binding
if let userAge = Int(userInput)
{
    print("your age is \(userAge)")           //该方式直接输出无Optional类型提示
}



let StrA:String? = "test"
StrA                                          //调用会有Optional类型提示
StrA!                                         //解包后调用,没有Optional类型提示

let StrB:String! = "test"                     //确认有值可直接!解包
StrB


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本章将会介绍 什么是Swift基础部分(The Basic) 什么是Swift Swift 是一种新的编程语言,用...
    寒桥阅读 403评论 0 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 4,025评论 1 10
  • 基础部分(The Basics) 当推断浮点数的类型时,Swift 总是会选择Double而不是Float。 结合...
    gamper阅读 1,393评论 0 7
  • 女秘书、或者是公司的前提小姐,有着明确的岗位职责---回绝她认为不必要的电话。 在女秘书们的概念里,最不必要的电话...
    宫匠阅读 834评论 0 0
  • 我出生在一个武术世家,我的爷爷晏云霞自幼习武。我从小就活泼好动,爷爷说,我是一块练武的好料子。于是我五岁就师从...
    查尔斯王子阅读 325评论 0 0