swift基本知识点的源码
来源:互联网 发布:淘宝家具沙发 编辑:程序博客网 时间:2024/05/01 15:32
基础的练习代码如下:
// 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);
0 0
- swift基本知识点的源码
- Swift 基本知识点之一基本概念
- Swift 基本知识点之五闭包
- Swift 基本知识点之二集合介绍
- Swift 基本知识点之三流程控制
- Swift 基本知识点之四函数
- Swift 基本知识点之六枚举
- swift的一些知识点演练
- Swift 基本知识点之十 —willSet与didSet的用法
- swift的基本语法
- Swift的基本语法
- swift 的基本语法
- swift的基本语法
- swift的基本语法
- 交换机的基本知识点
- 自我介绍的基本知识点
- Java基本的知识点
- 线程的基本知识点
- matlab在一阶动态电路时域分析的应用
- Human Resource - Presentation
- 运用link query特性query自己的Scope中department或其它scope中的department
- leetcode Median of Two Sorted Arrays
- 解密jQuery内核 DOM操作方法 之 html,text,val
- swift基本知识点的源码
- ios 开发学习文档
- window下SVN使用
- curl 模仿浏览器post 访问
- Android_ScrollView中嵌套ListView显示不全的解决方法
- word 中将一列数据转换成连续的一行数据
- 操作系统死锁
- Matlab实现文件读写的几种方法
- JS之处理数字千位分隔符