swift菜鸟教程1-5(语法,变量,类型,常量,字面量)

一个朴实无华的目录

今日学习内容:

1.基本语法

引入


空格规范

输入输出


2.变量

声明变量

变量输出加反斜杠括号 \( )

3.可选(Optionals)类型

可选类型

在这两种情况下,变量 optionalInteger 都是可选整数类型。注意,在类型和 ?之间没有空格。

Optional 是一个含有两种情况的枚举,None 和 Some(T),用来表示可能有或可能没有值。任何类型都可以明确声明为(或者隐式转换)可选类型。当声明一个可选类型的时候,要确保用括号给 ? 操作符一个合适的范围。例如,声明可选整数数组,应该写成 (Int[])? 写成 Int[]? 会报错。

当你声明一个可选变量或者可选属性的时候没有提供初始值,它的值会默认为 nil。

可选项遵照 LogicValue 协议,因此可以出现在布尔环境中。在这种情况下,如果可选类型T?包含类型为T的任何值(也就是说它的值是 Optional.Some(T) ),这个可选类型等于 true,反之为 false。

强制解析

当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。

swift 复制代码
import Cocoa

var myString:String?

myString = "Hello, Swift!"

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

以上程序执行结果为:

swift 复制代码
Optional("Hello, Swift!")

print( myString! )加感叹号后

swift 复制代码
import Cocoa

var myString:String?

myString = "Hello, Swift!"

if myString != nil {
   // 强制解析
   print( myString! )
}else{
   print("myString 值为 nil")
}

以上程序执行结果为:

swift 复制代码
Hello, Swift!

使用!来强制解析值之前,一定要确定可选包含一个非nil的值。

可选绑定

如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量

swift 复制代码
import Cocoa

var myString:String?

myString = "Hello, Swift!"

if let yourString = myString {
   print("你的字符串值为 - \(yourString)")
}else{
   print("你的字符串没有值")
}

以上程序执行结果为:

swift 复制代码
你的字符串值为 - Hello, Swift!

4.常量

常量声明

swift 复制代码
import Cocoa

let constA = 42
print(constA)

常量命名

swift 复制代码
import Cocoa

let _const = "Hello, Swift!"
print(_const)

let 你好 = "你好世界"
print(你好)

5.字面量

整数 and 浮点数 实例

swift 复制代码
let decimalInteger = 17           // 17 - 十进制表示
let binaryInteger = 0b10001       // 17 - 二进制表示
let octalInteger = 0o21           // 17 - 八进制表示
let hexadecimalInteger = 0x11     // 17 - 十六进制表示

let decimalDouble = 12.1875       //十进制浮点型字面量
let exponentDouble = 1.21875e1    //十进制浮点型字面量
let hexadecimalDouble = 0xC.3p0   //十六进制浮点型字面量

字符串 实例

swift 复制代码
import Cocoa

let stringL = "Hello\tWorld\n\n菜鸟教程官网:\'http://www.runoob.com\'"
print(stringL)

以上程序执行结果为:

swift 复制代码
Hello    World

菜鸟教程官网:'http://www.runoob.com'
相关推荐
我的xiaodoujiao3 分钟前
Windows系统Web UI自动化测试学习系列2--环境搭建--Python-PyCharm-Selenium
开发语言·python·测试工具
callJJ6 分钟前
从 0 开始理解 Spring 的核心思想 —— IoC 和 DI(2)
java·开发语言·后端·spring·ioc·di
hsjkdhs2 小时前
万字详解C++之构造函数析构函数
开发语言·c++
Lin_Aries_04212 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
2501_916007472 小时前
HTTPS 抓包乱码怎么办?原因剖析、排查步骤与实战工具对策(HTTPS 抓包乱码、gzipbrotli、TLS 解密、iOS 抓包)
android·ios·小程序·https·uni-app·iphone·webview
techdashen3 小时前
12分钟讲解Python核心理念
开发语言·python
山海不说话3 小时前
Java后端面经(八股——Redis)
java·开发语言·redis
郝学胜-神的一滴3 小时前
谨慎地迭代函数所收到的参数 (Effective Python 第31条)
开发语言·python·程序人生·软件工程
大虾别跑4 小时前
vc无法启动
java·开发语言
郭老二4 小时前
【JAVA】从入门到放弃-01-HelloWorld
java·开发语言