String
var nonOptionalString: String = "Hello"
print(nonOptionalString) // Directly prints "Hello"
var optionalString: String? = "Hello"
print(optionalString!) // Forcefully unwraps and prints "Hello"
.
String optional
var optionalString: String? = "Hello"
if let unwrappedString = optionalString {
print(unwrappedString) // Prints "Hello"
} else {
print("optionalString was nil")
}
optionalString = nil
if let unwrappedString = optionalString {
print(unwrappedString)
} else {
print("optionalString was nil") // Prints "optionalString was nil" because it's now nil
}
.
Int
var nonOptionalInt: Int = 4
print(nonOptionalInt) // Directly prints 4
var optionalInt: Int? = 4
print(optionalInt!) // Forcefully unwraps and prints 4
.
Int optional
var optionalInt: Int? = 4
if let unwrappedInt = optionalInt {
print(unwrappedInt) // Prints 4
} else {
print("optionalInt was nil")
}
optionalInt = nil
if let unwrappedInt = optionalInt {
print(unwrappedInt)
} else {
print("optionalInt was nil") // Prints "optionalInt was nil" because it's now nil
}
.
Float
var nonOptionalFloat: Float = 3.14
print(nonOptionalFloat) // Directly prints 3.14
var optionalFloat: Float? = 3.14
print(optionalFloat!) // Forcefully unwraps and prints 3.14
.
Double
var nonOptionalDouble: Double = 3.14159
print(nonOptionalDouble) // Directly prints 3.14159
var optionalDouble: Double? = 3.14159
print(optionalDouble!) // Forcefully unwraps and prints 3.14159
.
Bool
var nonOptionalBool: Bool = true
print(nonOptionalBool) // Directly prints true
var optionalBool: Bool? = true
print(optionalBool!) // Forcefully unwraps and prints true
.
optional type is added '?' in the end of type.
so that the value can be have "nil". "nil" is also classified false in if logic.
The reason why exist such a type is swift is UI based language and value from ui button or action might have any value, so to prevent error, optional type would be needed.
๐๐ป♂️
No comments:
Post a Comment