swift基本知识点的源码
2016-04-12 18:37
295 查看
基础的练习代码如下:
// print("hello world"); // let explictFloat : Float = 4; // print(explictFloat) // let label = "My age is "; // let age = 18; // let labelAge = label + String(age); // print(labelAge); // let apples = 3; // let oranges = 5; // let appleSummary = "I have \(apples) apples\n"; // print(appleSummary); // let fruitSummary = "I have \(apples + oranges) pieces of fruit"; // print(fruitSummary); // let abc = 38.8; // let label = "My number is \(abc)"; // print(label); // var shoppingList = ["apple","orange","banana","milk"]; //数组 // print(shoppingList[1]); // var peopleSex = ["Jack" : "I'm a boy","Lisa" : "I'm a girl"]; //字典 // print(peopleSex["Jack"]); // let individualScores = [75,43,103,87,12]; //if else 进行判断 // var teamScore = 0; // for score in individualScores { // // if score > 50 { // teamScore += 3; // } else { // teamScore += 1; // } // // } // // print(teamScore); // var optionalName: String? = "Jack"; //用问号来标记某个变量的值是可选的 // optionalName = nil; // var greeting = "Hello!"; // if let name = optionalName { // greeting = greeting + String(name); // print(greeting); // // }else{ // greeting = greeting + String(optionalName);//+ "Lisa"; // print(greeting); // } // let vegetable = "red pepper"; //switch 的使用 // // switch vegetable { // case "celery": // let vegetableComment = "Hi I'm will go home"; // print(vegetableComment); // case "cucumber","watercress": // let vegetableComment = "I'm lisa,come here"; // print(vegetableComment); // case let x where x.hasSuffix("pepper"): // let vegetableComment = "Is it a spicy \(x)?"; // print(vegetableComment); // default: // let vegetableComment = "EveryThing is taste good in a soup"; // print(vegetableComment); // } // // let interestingNumbers = [ //for-in 实现字典的遍历 // "Prime" : [2, 3, 5, 7, 11, 13], // "Fibonacci" : [1, 1, 2, 3, 5, 8], // "Square" : [1, 4, 9, 16, 25], // ] // // var largest = 0; // // for (kind, numbers) in interestingNumbers { // // for number in numbers { // if number > largest { // largest = number; // } // } // print(largest); //// print(kind,largest); // } // // var n = 2; //while实现循环 // while n < 100 { // n = n*2; // } // // print(n); // // var m = 2; //repeat-while 实现循环 // // repeat { // m = m*2; // }while m < 100 // // print(m); // //使用 for 循环 // var firstForLoop = 0; // // for var i = 0;i < 3;++i { // // firstForLoop += i; // } // // print(firstForLoop); // //函数和闭包 // func greet(name: String, day: String) ->String{ // // return "Hello \(name), Today is \(day)."; // } // // print(greet("Jack", day: "Tuesday")); // func getGasPrice() ->(Double,Double,Double){ //使用一个元组来返回多个值。 // // return (3.59, 3.69, 3.79); // } // // // print(getGasPrice()); // //函数的参数是可变的,用一个数组来获取它们 // // func sumOf(numbers: Int...) ->Int{ // // var sum = 0; // for number in numbers { // // sum += number; // } // print(sum); // return sum; // } // //// sumOf(); // sumOf(42, 597, 12); class nameShape { var numberOfsides: Int = 0; var name: String; init(name: String){ self.name = name; } func simpleDescription() ->String{ return "A shape with \(numberOfsides) sides."; } } class Square:nameShape{ var sideLength: Double; init(sideLength: Double, name: String){ self.sideLength = sideLength; super.init(name: name); numberOfsides = 4; } func area() ->Double { return sideLength * sideLength; } override func simpleDescription() -> String { return "A square with sides of length \(sideLength)"; } } // let test = Square(sideLength: 5.5, name: "Lili"); // // let area = test.area(); // print(area); // // let description = test.simpleDescription(); // print(description); // class Circle:nameShape { //圆的类定义 // var radius: Double; // init(radius: Double,name: String){ // self.radius = radius; // super.init(name: name); // } // // func area() ->Double{ // // return M_PI * radius * radius; // // } // // override func simpleDescription() -> String { // // return "A Cicle with radius of \(radius)"; // } // } // // let test = Circle(radius: 4.8, name: "myCircle"); // // print(test.name); // // let area = test.area(); // print(area); // // let description = test.simpleDescription(); // print(description); // // class EquilateralTriangle: nameShape{ var sideLength: Double = 0.0; init(sideLength: Double,name: String){ self.sideLength = sideLength; super.init(name: name); numberOfsides = 3; } func area() -> Double { return sideLength * sideLength; } var perimeter: Double{ //属性可以有 getter 和 setter 。 get { return 3.0 * sideLength; } set { sideLength = newValue/3.0; //在 perimeter 的 setter 中,新值的名字是 newValue。你可以在 set 之后显示的设置一个名 字。 } } override func simpleDescription() -> String { return "An equilateral triangle with sides of length \(sideLength)"; } } // let triangle = EquilateralTriangle(sideLength: 5, name: "my Triangle"); // // print(triangle.perimeter); // // triangle.perimeter = 9.9; // // print(triangle.sideLength); // // let description = triangle.simpleDescription(); // // print(description); //如果你不需要计算属性但是需要在设置一个新值之前运行一些代码,使用willSet和didSet。 比如,下面的类确保三角形的边长总是和正方形的边长相同。 class TriangleAndSquare { var triangle: EquilateralTriangle { willSet { square.sideLength = newValue.sideLength; } } var square: Square { willSet { triangle.sideLength = newValue.sideLength; } } init(size: Double, name: String){ square = Square(sideLength: size, name: name); triangle = EquilateralTriangle(sideLength: size, name: name); } } let triangleAndSquare = TriangleAndSquare(size: 10, name: "another test shape"); print(triangleAndSquare.square.sideLength); print(triangleAndSquare.triangle.sideLength); triangleAndSquare.square = Square(sideLength: 50, name: "larger Square"); print(triangleAndSquare.triangle.sideLength);
相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- ip地址基础知识
- VBS基础编程教程 (第1篇)
- VBS基础编程教程 (第3篇)
- 路由器基础精析
- VBS基础编程教程 (第4篇)
- VBS基础编程教程 (第5篇)
- VBS基础编程教程 (第6篇)
- VBS编程教程 (第2篇)
- AJAX初级教程之初识AJAX
- Jquery 基础学习笔记
- PHP学习一(基础)第1/2页
- 《JavaScript DOM 编程艺术》读书笔记之DOM基础
- 精通Javascript系列之Javascript基础篇
- JavaScript 学习笔记之基础中的基础
- jQuery基础知识小结
- JQuery入门基础小实例(1)
- jquery 指南/入门基础