//
// main.swift
// HelloSwift
//
// Created by grace on 2017/5/21.
// Copyright © 2017年 grace. All rights reserved.
//
import Foundation
func func1()
{
//1.print
print("Hello, World!")
//2.calculate
let a = 25
var b:Int = 3
print(a+b)
b += 1
print(a+b)
let doubleVal:Double = 111.11
var varDoubleVal:Double = 22.22
varDoubleVal += 1.1
let intVal:Int = 22
var varIntVal:Int = 21
varIntVal += 2
var sum = 0
sum = intVal + varIntVal
print("The sum-1 is " + String(sum))
print("The sum-2 is \(sum)")
print("The sum-3 is \(intVal + varIntVal)")
var sumDouble:Double = 0.0
sumDouble = doubleVal + varDoubleVal
print("The sumDouble-1 is " + String(sumDouble))
print("The sumDouble-2 is \(sumDouble)")
print("The sumDouble-3 is \(doubleVal + varDoubleVal)")
//3.Array
var numbers:Array = [15, 25]
print("numbers sum is \(numbers[0] + numbers[1])")
//4.Dictionary
var numberDic:Dictionary = [
"grace": 40,
"kevin": 42
]
print((numberDic["grace"]!))
print("grace's age is \(numberDic["grace"]!)")
print("kevin's age is \(numberDic["kevin"])")
//5.for
for i in 1...10 {
print(i)
}
var gradesDic = [
"May" : 99,
"Bob" : 59,
"Joe" : 56
]
//6.for and Dictionary
for grade in gradesDic
{
if grade.1 < 60 { print("\(grade.0)'s grade is \(grade.1)") } } print((gradesDic["May"]!)) print("May's grade is \(gradesDic["May"]!)") } //7.call function with no parameter and no return func1() //8.function with return String func greet()->String {
return "Hello"
}
var helloString = greet()
print(helloString)
//9.function with 2 input parameters
func greet2(var1:String, var2:String)->String {
return "Hello,\(var1) and \(var2)"
}
var helloString2 = greet2(var1: "Grace", var2: "Kevin")
print(helloString2)
//10.function with return array
func getGrades()->(grade1:UInt32, grade2:UInt32, grade3:UInt32) {
return (arc4random() % 100 + 1, arc4random() % 100 + 1, arc4random() % 100 + 1)
}
var returnArray = getGrades()
print("\(returnArray.grade1),\(returnArray.grade2),\(returnArray.grade3)")
//11.function with not quantitative parameters(不定量變數)
func sumOf(numbers:Int...)->Int {
var sum:Int = 0
for number in numbers {
sum += number
}
return sum
}
print(sumOf(numbers: 1,2,3,4,5))
//12.class
class Shape {
var name:String
var slides:Int
init(name:String, slides:Int) {
self.name = name
self.slides = slides
}
func simpleDescription() ->String {
return "name is \(self.name), slides is \(self.slides)"
}
}
var shape1:Shape = Shape(name: "shape1", slides: 4)
print(shape1.simpleDescription())
//13.inherit
class Square : Shape {
var slideLength:Double
init(name:String, sideLength:Double) {
self.slideLength = sideLength
super.init(name: name, slides: 4)
}
func area()->Double {
return slideLength * slideLength
}
override func simpleDescription() -> String {
return "A square of sideLength \(self.slideLength) which name is \(self.name), slides is \(self.slides)"
}
}
var square1:Square = Square(name: "square1", sideLength: 5.5)
print("\(square1.name)'s area is \(square1.area()), and description is \(square1.simpleDescription()).")