import Foundation
/*
标识符
1 标识符(比如常量名、变量名、函数名)几乎可以使用任何字符
2 标识符不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符
*/
func 🐂🍺 () {
print("666")
}
🐂🍺()
let 👽 = "ET"
print(👽)
var 🥛 = "milk"
/*
字面量
*/
// 布尔值
// 声明为 Bool 类型的变量/常量只能存储两个值 true 或 false; 默认值为false
let bool = true
// 字符串
// 默认值“”
// 转义:let (空字符);\ (一个普通的反斜杠\;\t (制表符);\v (垂直标签);\r (回车);\” (双引号),;\’ (单引号),和\u{n} (unicode字符串,n以十六进制表示)
= string "小码哥" // 字符,可存储ASCII字符、Unicode字符
let
: characterCharacter= "🐶" let
: playerNameCharacter= "J" let
: playerNameWithUnicodeCharacter= "\u{134}" //"Ĵ" //整数
/*正数、负数、零,不存在小数部分;默认值为0;
值范围:-2,147,483,648 至 2,147,483,647(32位平台)
-9223372036854775808 至 9223372036854775807(64位平台)
*/
let
= intDecimal 17 // 十进制let
= intBinary 0b1001 // 二进制 let
= intOctal 0o21 // 八进制 let
= intHexadecimal 0x11 // 十六进制 /*
Int8(整数)可以存储正数和负数的整数类型的变体;默认值:0;大小:8位;范围:-128 至 127
一个Int8整数可以总共存储2 8 =(256)个值。即它可以存储 0 到 255之间的数字。但是由于 Int8包括正数和负数,我们可以存储从-128到127的数字,包括0,总计为256个值或数字。
最大和最小 Int8数据类型
*/
var
: inteightInt8= - 128//正确=
inteight 127 //正确 //inteight = 128 //错误 Integer literal '128' overflows when stored into 'Int8'
//inteight = -129 //错误 Integer literal '128' overflows when stored into 'Int8'
print
(Int8.min)print
(Int8.max)/*
UInt(无符号整数)
整数类型的变体,称为UInt(无符号整数),只能存储无符号数字(正数或零)。
默认值:0
大小:32/64位取决于平台类型。
范围:0 至 4294967295(32位平台)
0 至 18446744073709551615(64位平台)
*/
var
: uintUInt= 100 //uint = -100 //编译时错误(Negative integer '-100' overflows when stored into unsigned type 'UInt') 无符号整数只能存储 0 或 正值
// 浮点数 默认值0.0
// 32位浮点数:Float范围:1.2 * 10 -38至3.4 * 10 38(〜6位数字);
// 64位浮点数:double范围:2.3×10 -308〜1.7 * 10 308(〜15位)
let
= doubleDecimal 125.0 // 十进制,等价于1.25e2,0.0125等价于1.25e-2let
= doubleHexadecimal1 // 十六进制,等价于15x2^2,相当于十进制的60.0 0xFp2 let
= doubleHexadecimal2 - 0xFp2// 十六进制,等价于15x2^-2,相当于十进制的3.75 // 整数和浮点数可以添加额外的零或者添加下划线来增强可读性
let
= intHuge 100_000_000 let
= floatHuge 1_000_000.000_000_1
Swift 是一种类型推断语言,变量或常量可以从存储的值中自动推断类型。因此,您可以在创建变量或常量时跳过类型。然而,你可以考虑为了可读性而写类型,但不推荐这样做。
示例9:类型推断的变量/常量
let playerName = “Jack”
print(playerName)
Swift编译器可以根据其值自动推断该变量为 String 类型。
示例10:Swift是一种类型安全的语言
let playerName:String
playerName = 55 //compile time error
上面的代码将产生一个错误,因为我们已经指定变量playerName将为String。 因此我们无法在其中存储一个整数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)