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!