swift 初学笔记(一)

参考:https://www.runoob.com/swift/swift-constants.html

定义字符串变量

//
//  main.swift
//  practice_swift
//
//  Created by zcr on 2020/9/17.
//  Copyright © 2020 zcr. All rights reserved.
//

import Foundation

// 定义字符串变量
var str = "Hello, playground"
print(str)

print("Hello, World!")

var a = 1+2    // 编码规范推荐使用这种写法
var b = 1 + 3  // 这样也是OK的
/* ---------------------------------- */

输出

// public func print(_ items: Any..., separator: String = " ", terminator: String = "\n")
/*
默认输出换行, terminator为 : "",不换行输出
*/
for x in 0...10{
    print("\(x) ", terminator: "")
}
print()

for x in 0...10{
    print(x, terminator: "")
}
print()

print(1,12,3, separator: " $ ")

/*
output:
0 1 2 3 4 5 6 7 8 9 10
012345678910
1 $ 12 $ 3
*/

/* ---------------------------------- */
// varA 会被推测为 Int 类型
var varA = 42
print(varA)

// varB 会被推测为 Double 类型
var varB = 3.14159
print(varB)

// varC 也会被推测为 Double 类型
var varC = 3 + 0.14159
print(varC)

/*
output
42
3.14159
3.14159
*/

/* --------------变量输出-------------------- */

var name = "菜鸟教程"
var site = "http://www.runoob.com"

print("\(name)的官网地址为:\(site)")

// output
// 菜鸟教程的官网地址为:http://www.runoob.com

Swift 可选(Optionals)类型

/* ---------------------------------- */

//Swift 可选(Optionals)类型

/*
Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。
Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的:
var optionalInteger: Int?
var optionalInteger: Optional<Int>
在这两种情况下,变量 optionalInteger 都是可选整数类型。注意,在类型和 ?之间没有空格。
*/

/*
如果一个可选类型的实例包含一个值,你可以用后缀操作符 !来访问这个值,如下所示:
optionalInteger = 42
optionalInteger! // 42
*/
var optionalInteger: Int?
optionalInteger = 42
print(optionalInteger)
// 后缀操作符 !来访问这个值
print(optionalInteger!)
/*
output:
Optional(42)
42

当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。
这个感叹号表示"我知道这个可选有值,请使用它。"这被称为可选值的强制解析(forced unwrapping)。
*/

/* ---------------------------------- */
// 自动解析   ------------此处解析有误
//你可以在声明可选变量时使用感叹号(!)替换问号(?)。这样可选变量在使用时就不需要再加一个感叹号(!)来获取值,它会自动解析。
//实例如下:
var myString:String! = "Hello, Swift!"

//myString = "Hello, Swift!"

if myString != nil {
    print(myString)
}else{
    print("myString 值为 nil")
}

// out:   Optional("Hello, Swift!")

/************************************/

可选绑定

//可选绑定
//使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量。
//像下面这样在if语句中写一个可选绑定:
var myString_b:String?

myString_b = "Hello, Swift!"

if let yourString = myString_b {
    print("你的字符串值为 - \(yourString)")
}else{
    print("你的字符串没有值")
}
// out:   你的字符串值为 - Hello, Swift!
posted @ 2020-09-17 23:43  lduml  阅读(178)  评论(0编辑  收藏  举报