swift基础语法--简单值 控制流

来源:互联网 发布:维特斯数据 编辑:程序博客网 时间:2024/04/29 04:55
1、全局作用域中的代码会被自动当做程序的入口点,所以不需要main函数。2、let声明常量,var声明变量。 常量或变量的类型必须和你赋给他们的值一样。然而你不用明确地声明类型,声明的同时赋值的话,编译器会自动推断类型。 如果初始值没有提供足够的信息(或者没有初始值),就需要在变量后面声明类型,用冒号分割。 let explicitDouble:Double = 60 值永远不会被隐式转换为其他类型。如果你需要把一个值转换成其他类型,请显式转换。 let label = "the width is" let width = 94 let widthLabel = label +String(width) 把值转换成字符串的方法:把值写到括号中,并在括号之前写一个反斜杠 let apple = 5 let orange = 8 let fruitSum = "I have \(apple+orange) fruits"3、数组、字典 使用方括号[]来创建数组和字典,并使用下标或者键(key)来访问元素 var shoppingList = ["water","fish","cat"] shopLIst[1] = "wahaha" var dic = [ "name":"xxx", "age":17, ] dic["name"] = "aaaaa" 创建一个空数组或字典,使用初始化语法 let emptyArray = [String]() let emptyDictionary = [String: Float]()4、控制流 if语句中,条件必须是一个布尔表达式。这意味着像if score{。。}这样的代码将报错,而不会隐形地与0做对比。 你可以一起使用if和let来处理值缺失的情况。这些值可由可选值来代表。一个可选的值是一个具体的值或者是nil以表示值缺失。在类型后面加一个问号来标记这个变量的值是可选的。 var optionalString: String? = "hello" println(optionalString) var optionalName: String? = “John” var greeting = "hello!" if let name = optionalName{ greeting = "hello,\(name)" } println(greeting) 如果变量的可选值是nil,if条件会判断为false,大括号中的代码会被跳过 switch let vegetable = "red pepper" switch vegetable { case "celery": let vegetableComment = "Add some raisins and make ants on a log." println("11\(vegetableComment)") case "cucumber", "watercress": let vegetableComment = "That would make a good tea sandwich." println("22\(vegetableComment)") case let x where x.hasSuffix("pepper")://声明let可用于匹配某部分固定值的模式 let vegetableComment = "Is it a spicy \(x)?" println("33\(vegetableComment)") default: let vegetableComment = "Everything tastes good in soup." println("44\(vegetableComment)") }打印结果:33Is it a spicy red pepper? 使用for-in来遍历字典,需要两个变量来表示每个键值对。字典是一个无序的集合,所以他们的键和值以任意顺序迭代结束 let interestingNumber = [ "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 interestingNumber{ for number in numbers{ if number > largest{ largest = number } } } println(largest)//打印25 使用while来重复运行一段代码直到不满足条件。循环条件也可以在结尾,保证能至少循环一次 var n = 2 while n < 100{ n = n*2 } println(n) var m = 2 repeat{ m=m*2 }while m<100 println(m)
0 0