উত্তর:
আপনি একেবারে isএকটি switchব্লক ব্যবহার করতে পারেন । সুইফ্ট প্রোগ্রামিং ল্যাঙ্গুয়েজে (যদিও এটি কেবল সীমাবদ্ধ নয় Any) "টাইপ কাস্টিং ফর আনু ও যেকোনওজেক্টের জন্য" দেখুন । তাদের একটি বিস্তৃত উদাহরণ রয়েছে:
for thing in things {
switch thing {
case 0 as Int:
println("zero as an Int")
case 0 as Double:
println("zero as a Double")
case let someInt as Int:
println("an integer value of \(someInt)")
case let someDouble as Double where someDouble > 0:
println("a positive double value of \(someDouble)")
// here it comes:
case is Double:
println("some other double value that I don't want to print")
case let someString as String:
println("a string value of \"\(someString)\"")
case let (x, y) as (Double, Double):
println("an (x, y) point at \(x), \(y)")
case let movie as Movie:
println("a movie called '\(movie.name)', dir. \(movie.director)")
default:
println("something else")
}
}
is" - এবং তারপরে তিনি কখনই এটি ব্যবহার করেন না। এক্স)
case is Doubleউত্তরে দেখতে পাচ্ছি
"কেস হ'ল - কেসটি ইন্ট, স্ট্রিং: " ক্রিয়াকলাপের উদাহরণ স্থাপন করা , যেখানে একই রকম অবজেক্টের ধরণের জন্য একই ক্রিয়াকলাপ সম্পাদন করতে একাধিক কেস একসাথে ব্যবহার করা যেতে পারে। এখানে "," প্রকারগুলি পৃথক করে কোনও ওআর অপারেটরের মতো কাজ করে।
switch value{
case is Int, is String:
if value is Int{
print("Integer::\(value)")
}else{
print("String::\(value)")
}
default:
print("\(value)")
}
ifআপনার পয়েন্টটিকে প্রমাণ করার পক্ষে সম্ভবত সেরা উদাহরণ নয়।
valueএমন কিছু বিষয় যা এক হতে পারে না Int, Float, Double, এবং চিকিত্সা Floatএবং Doubleএকই ভাবে।
যদি আপনার কোনও মান না থাকে তবে কেবল কোনও বস্তু:
দ্রুত 4
func test(_ val:Any) {
switch val {
case is NSString:
print("it is NSString")
case is String:
print("it is a String")
case is Int:
print("it is int")
default:
print(val)
}
}
let str: NSString = "some nsstring value"
let i:Int=1
test(str)
// it is NSString
test(i)
// it is int
আমি এই বাক্য গঠনটি পছন্দ করি:
switch thing {
case _ as Int: print("thing is Int")
case _ as Double: print("thing is Double")
}
যেহেতু এটি আপনাকে কার্যকারিতা দ্রুত বাড়ানোর সম্ভাবনা দেয়:
switch thing {
case let myInt as Int: print("\(myInt) is Int")
case _ as Double: print("thing is Double")
}
thingকোনও একটিতে স্যুইচ-এ ব্যবহার করছি নাcase, এখানে ব্যবহার করেthingকী ব্যবহার হবে ? আমি এটি দেখতে ব্যর্থ। ধন্যবাদ।