//: Playground - noun: a place where people can play
import Cocoa
var str = "Hello, playground"
//1
let normalVar:Float = 4
//2
let label = "The width is"
let width = 66
let widthLabel = label + String(width)
//3
let aFloat = 1.2
let bFloat = 2.2
print("The sum is \(aFloat + bFloat) Hello,\("Sally")")
//4
var optionalString: String? = "Hello"
print(optionalString == nil)
var optionalName:String? = nil
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello,\(name)"
}else{
greeting = "name is nill"
}
/*
當(dāng)可選值為nil時,不進(jìn)行賦值,跳過代碼
*/
//5
let interestingNumbers = [
"A" : [2,3,5,7,11,13],
"B" : [1,1,2,3,5,8],
"S" : [1,4,9,16,25]
]
var largest = 0
var largestKind:String = ""
for (kind, numbers) in interestingNumbers {
for number in numbers {
if number > largest {
largest = number
largestKind = kind
}
}
}
print(largest,largestKind)
//6
//下劃線表示參數(shù)名可省略
func greet(name:String, eat:String)->String{
return "\(name) eat \(eat) today"
}
greet(name: "Sally", eat: "potato")
//7.計算參數(shù)平均值
//函數(shù)帶可變個數(shù)的參數(shù),在函數(shù)內(nèi)部表現(xiàn)為數(shù)組的形式
func Average(numbers:Int...) ->Int{
var sum = 0
var count = 0
for number in numbers {
sum += number;
count += 1;
}
return sum/count;
}
Average(numbers: 1,2,3,4,5)
//8.閉包 對所有奇數(shù)返回0
var numbers = [20,19,7,12]
let numbersHasOdd = numbers.map({
(num:Int)-> Int in
if num % 2 == 1{
return 0;
}
return 1;
})
print(numbersHasOdd)
//9 創(chuàng)建namedShape的另一個子類Circle,構(gòu)造器接收兩個參數(shù),一個是半徑一個是名稱,在子類Circle中實現(xiàn)area() 和 simpleDescription參數(shù)
class NamedShape {
var numberOfSides: Int = 0
var name: String
init(name: String) {
self.name = name
}
func simpleDescription() -> String {
return "A shape with \(numberOfSides) sides."
}
}
class Circle : NamedShape{
var radius:Double = 0
init(name: String, radius:Double) {
self.radius = radius
//初始化父類
super.init(name: name)
}
func area(radius:Double) -> Double {
self.radius = radius
return 3.14 * radius * radius
}
override func simpleDescription() -> String {
return ("This circle's area is \(area(radius: radius))")
}
}
var namedClass = NamedShape(name: "Named")
var cirArea = Circle(name:"Circle",radius:1)
cirArea.area(radius: 2)
cirArea.simpleDescription()
//10、寫一個函數(shù),通過比較它們的原始值來比較Rank值
enum Rank: Int{
case Ace = 1
case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
case Jack, Queue, King
func simpleDescription() -> String {
switch self {
case .Ace:
return "ace"
case .Jack:
return "jack"
case .King:
return "king"
default:
return String(self.rawValue)
}
}
}
func isLarger(_ para1:Rank, para2:Rank) -> Bool{
if para1.rawValue > para2.rawValue {
return true;
}
return false;
}
isLarger(.Four, para2: .Three)
Swift官方文檔 部分練習(xí)題解
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 整理和總結(jié)官方文檔的中文翻譯版上面對于Redux-sage的介紹文檔地址:http://leonshi.com/r...
- 構(gòu)建項目一般在spring的官網(wǎng)https://projects.spring.io/spring-boot/快速...
- 陳慧珊、宣萱、蔡少芬和郭可盈并稱TVB90年代四大花旦,陳慧珊和其他三位相比,出道最晚,卻是上位最快的一位,同時還...