1、代码
import Foundation
print("Hello, Swift!")
let text1 = "定义字符串1"
let text2 = String("")
let text3 = String(repeating: "重复的字符串", count: 3)
let text4 = """
多行
文本
"""
let text5 = """
多行\
文本\
单行\
显示
"""
let text6 = "\"带符号的文本\""
let text7 = #""原文|显示""#
let text8 = "拼接"
let text9 = "字符串"
let text10 = "abcdefg"
print("""
字符串
定义1: \(text1)
定义2: \(text2)
重复字符串: \(text3)
多行文本: \(text4)
多行文本单行显示: \(text5)
原文显示1: \(text6)
原文显示2: \(text7)
拼接1: \(text8 + text9)
拼接2: \(text8.appending(text9))
判断是否为空1: \(text2.isEmpty)
判断是否为空2: \(text9.isEmpty)
字符串长度: \(text9.count)
字符串的值: \(text9.description)
字符串debug: \(text9.debugDescription)
字符串hash值: \(text9.hashValue)
字符串大写: \(text10.uppercased())
字符串小写:\(text10.lowercased())
字符串是否以xx开头: \(text10.hasPrefix("abcd"))
字符串是否以xx结尾: \(text10.hasSuffix("efg"))
取字符串首个字节: \(text10[text10.startIndex])
取字符串第二个字节: \(text10[text10.index(text10.startIndex, offsetBy: 1)])
取字符串最后一个字节: \(text10[text10.index(text10.endIndex, offsetBy: -1)])
取字符串倒数第二个字节: \(text10[text10.index(text10.endIndex, offsetBy: -2)])
\r
""")
let int1 = 1
let int2: Int = 2
let int3: Double = 3
let int4: Float = 4
let int5 = 0b10
let int6 = 0o7
let int7 = 0xf
let int8 = 123_456_789
let int9 = Int("30") ?? 0
let int10 = Int("ff", radix: 16) ?? 0
let int11 = Int.random(in: 1...100)
let int12 = Int.random(in: 5..<10)
let int13 = 5
let int14 = 10
let int15 = -20
var int16 = -30
int16.negate()
var int17 = 66
int17.negate()
let int18 = 1000
let (q,r) = int18.quotientAndRemainder(dividingBy: 6)
print("""
整型
定义: \(int1)
Int类型: \(type(of: int2))
Double类型: \(type(of: int3))
Float类型: \(type(of: int4))
2进制: \(int5)
8进制: \(int6)
16进制: \(int7)
分节符:\(int8)
字符串类型转数字类型: \(int9)
字符串类型转16进制数字类型: \(int10)
随机数1: \(int11)
随机数2: \(int12)
加法: \(int13 + int14)
减法: \(int13 - int14)
乘法: \(int13 * int14)
除法: \(int13 / int14)
相等: \(int13 == int14)
不等: \(int13 != int14)
大于: \(int13 > int14)
小于: \(int13 < int14)
绝对值1: \(int15.magnitude)
绝对值2: \(abs(int15))
取反1: \(int16)
取反2: \(int17)
除后结果和余数: \(q), \(r)
符号(1为正数,0为0,-1为负数): \(int18.signum())
零: \(Int.zero)
最大值: \(Int.max)
最小值: \(Int.min)
取值: \(int18.description)
hash值: \(int18.hashValue)
\r
""")
let db1 = 1.0
let db2 = Double(2)
let db3 = Double.random(in: 50.0...500.0)
let db4 = db3.squareRoot()
let db5 = db3.rounded()
let db6 = 10.45
let db7 = +12.3
let db8 = -12.3
print("""
双精度
定义1: \(db1)
定义2: \(db2)
随机数: \(db3)
平方根: \(db4)
四舍五入: \(db5)
四舍五入到幅度大于或等于源值的最接近的允许值: \(db6.rounded(.awayFromZero))
四舍五入为小于或等于源值的最接近的允许值: \(db6.rounded(.down))
四舍五入到最接近的允许值;如果两个值同样接近,则选择幅度较大的一个: \(db6.rounded(.toNearestOrAwayFromZero))
四舍五入到最接近的允许值;如果两个值同样接近,则选择偶数: \(db6.rounded(.toNearestOrEven))
四舍五入到幅度小于或等于源值的最接近的允许值: \(db6.rounded(.towardZero))
四舍五入为大于或等于源值的最接近的允许值: \(db6.rounded(.up))
绝对值: \(db8.magnitude)
符号1: \(db7.sign)
符号2: \(db8.sign)
pi: \(Double.pi)
\r
""")
let bol1 = true
let bol2 = false
var bol3 = Bool()
bol3.toggle()
print("""
布尔
true: \(bol1)
false: \(bol2)
取反: \(bol3)
随机: \(Bool.random())
取值: \(bol1.description)
hash值: \(bol1.hashValue)
""")
2、运行结果
字符串
定义1: 定义字符串1
定义2:
重复字符串: 重复的字符串重复的字符串重复的字符串
多行文本: 多行
文本
多行文本单行显示: 多行文本单行显示
原文显示1: "带符号的文本"
原文显示2: "原文|显示"
拼接1: 拼接字符串
拼接2: 拼接字符串
判断是否为空1: true
判断是否为空2: false
字符串长度: 3
字符串的值: 字符串
字符串debug: "字符串"
字符串hash值: -3749667495661947805
字符串大写: ABCDEFG
字符串小写:abcdefg
字符串是否以xx开头: true
字符串是否以xx结尾: true
取字符串首个字节: a
取字符串第二个字节: b
取字符串最后一个字节: g
取字符串倒数第二个字节: f
整型
定义: 1
Int类型: Int
Double类型: Double
Float类型: Float
2进制: 2
8进制: 7
16进制: 15
分节符:123456789
字符串类型转数字类型: 30
字符串类型转16进制数字类型: 255
随机数1: 73
随机数2: 6
加法: 15
减法: -5
乘法: 50
除法: 0
相等: false
不等: true
大于: false
小于: true
绝对值1: 20
绝对值2: 20
取反1: 30
取反2: -66
除后结果和余数: 166, 4
符号(1为正数,0为0,-1为负数): 1
零: 0
最大值: 9223372036854775807
最小值: -9223372036854775808
取值: 1000
hash值: 4790895298428071925
双精度
定义1: 1.0
定义2: 2.0
随机数: 466.8199546157963
平方根: 21.60601662999907
四舍五入: 467.0
四舍五入到幅度大于或等于源值的最接近的允许值: 11.0
四舍五入为小于或等于源值的最接近的允许值: 10.0
四舍五入到最接近的允许值;如果两个值同样接近,则选择幅度较大的一个: 10.0
四舍五入到最接近的允许值;如果两个值同样接近,则选择偶数: 10.0
四舍五入到幅度小于或等于源值的最接近的允许值: 10.0
四舍五入为大于或等于源值的最接近的允许值: 11.0
绝对值: 12.3
符号1: plus
符号2: minus
pi: 3.141592653589793
布尔
true: true
false: false
取反: true
随机: false
取值: true
hash值: -4545755955266436687