苹果官方Swift文档翻译02

转自:http://www.cnblogs.com/caios/p/3771015.html

Welcome
to Swift (苹果官方Swift文档初译与注解二)---6~10页

Simple Values

翻译来自: Apple Inc. “The Swift Programming Language”。

在Swift中,使用let来定义常量,使用var来定义变量;常量的数值在编译时可以不固定;但你必须在编译之前要给常量赋过值(至少一次),这意味着你可以在许多地方通过这个常量来使用这个值;

var myVariable
= 42

myVariable =
50

let myConstant
= 42

常量或者变量的数据类型与你分配给他们的值的类型保持一致,但是你却不用总是明显的进行类型说明,通过赋值可以让编辑器知道你创建的常量或者变量属于什么数据类型,在上面的代码例子中,编译器会认为
myVariable是整型数据,因为它初始的赋值是整型.

如果在(变量)初始化的时候没有足够的信息(或者没有初始值)让编译器确定数据类型,那么可以在这个变量后面专门指定数据类型,只需要使用分号来间隔即可.

let implicitInteger =
70

    let implicitDouble = 70.0

    let explicitDouble: Double = 70

    EXPERIMENT(//练习)

     Create a constant with an explicit type of Float and a
value of 4.  // 创建一个Float常量,并让它的数值为4.

值的类型不能隐式的转换成另一种类型,如果你需要转换,需要明显的声明你希望的数据类型.

    let label = "The width is "

    let width = 94

    let widthLabel = label + String(width)

    EXPERIMENT //练习题

    Try removing the conversion to String from the last line.
What error do you get?

/*试着在上面代码的最后一行去掉String ,看看会发生什么错误*/

在Swift中,有一种简单的在字符串中传入要显示的值,只需要在圆括号()中写值即可,并且在圆括号前面添加一个反斜杠(\).

例如:

    let apples = 3

    let oranges = 5

    let appleSummary = "I have \(apples) apples."

    let fruitSummary = "I have \(apples + oranges) pieces of
fruit.”

    EXPERIMENT // 练习

     Use \() to include a floating-point calculation in a
string and to include someone’s name in a greeting.

/*使用\()在字符串中添加一个浮点运算,并且包含问候语(例如带上某人的名字)*/

在Swift中,创建数组类型或者字典类型,通过使用[],访问其内部元素只需要在[]内添加索引即可.

    var shoppingList = ["catfish", "water", "tulips", "blue
paint"]

    shoppingList[1] = "bottle of water"

    var occupations = [

     "Malcolm": "Captain",

        "Kaylee": "Mechanic",

    ]

    occupations["Jayne"] = "Public Relations”

如果要创建空的数组或者字典,使用如下初始化语法

    let emptyArray = String[]()

    let emptyDictionary = Dictionary<String, Float>()

如果类型是已知的,你可以只使用[]来定义空数组或者[:]来定义字典,这就像是个变量设定一个新值,或者给函数传递参数一样.

    shoppingList = []   // 购物清单

在Swift中条件判断使用if和switch,事件循环使用for-in,for,while以及do-while,但不同的是,条件判断或事件循环里的()是可以省略的.包裹判断体或者循环体的{}是不能省略的.

代码样例:

    let individualScores = [75, 43, 103, 87, 12]

    var teamScore = 0

    for score in individualScores {

      if score > 50 {

           teamScore += 3

        } else {

            teamScore += 1

       }

    }

    teamScore

在if语言中,判断的条件必须是Bool类型的表达式,这就意味着这样的代码是错误的:if score {...}.

也可以使用if 和let一起操作值,这些值表示选择性,可选的值不包括nil.在值的类型后添加?标识可选.

    var optionalString: String? = "Hello"

    optionalString == nil

    var optionalName: String? = "John Appleseed"

    var greeting = "Hello!"

    if let name = optionalName {

      greeting = "Hello, \(name)"

    }

    EXPERIMENT  // 练习题

    Change optionalName to nil. What greeting do you get? Add an
else clause that sets a different greeting if optionalName is
nil.

    //增加一条语言, 将 optionalName设置为nil,看看会发生什么,

时间: 2024-10-06 00:56:27

苹果官方Swift文档翻译02的相关文章

苹果官方Swift文档翻译

转自:http://www.cnblogs.com/caios/p/3766652.html Welcome to Swift (苹果官方Swift文档初译与注解) Welcome to Swift 策划给:iOS爱好者, 标题// 本人试着利用闲暇时间翻译苹果官方文档,限于水平,难免有误,欢迎大家指正. 2014年6月3日建议书编号: 123-4567 关于 swift(雨燕) Swift 是一门全新的iOS和OS X 应用软件的开发语言,它是建立在OC(Object-C)和C的基础之上,但没

苹果官方Swift文档翻译03

转自:http://www.cnblogs.com/caios/p/3773680.html Welcome to Swift (苹果官方Swift文档初译与注解三)---11~18页 上述代码中,如果可选值为nil,那么判断条件则为false,而且在{}中的代码将会被忽略,如果可选值不为nil,会将该值逐步运算后赋值给let后面的常量,其中逐步运算过程将依据实际的代码块. Switch 语法支持任何类型数据以及各种比较操作,并不局限在整型. let vegetable = "red peppe

Welcome to Swift (苹果官方Swift文档初译与注解二十六)---181~188页(第四章-- 流程控制)

Do-While  while循环的另一个版本是do-while循环,它在判断条件之前,先执行一遍循环体,然后再次执行循环体,直到条件成为false. do-while循环的通过格式: do {   statements } while condition 我们再用蛇和梯子的例子,使用do-while循环代替while循环.其中 finalSquare, board, square, 和 diceRoll 的初始化与while循环是一样的: let finalSquare = 25 var bo

Welcome to Swift (苹果官方Swift文档初译与注解三十)---219~224页(第四章-- 流程控制 完)

Labeled Statements  (标签语句) 循环或者switch语句可以嵌套其他的循环或者switch,这样在Swift中可以创建复杂的流程控制结构.循环或者switch语句都可以通过break语句来永久的结束,因此,有时候需要显式的 表明在循环或者switch中你需要break的语句.同样的,如果你嵌套多个循环,显式的表明里面的continue语句也是类似的. 为了达成这个目标,可以在循环语句或者switch语句中使用一个语句标签(statement label),利用这个标签和br

Welcome to Swift (苹果官方Swift文档初译与注解三十五)---248~253页(第五章-- 函数 完)

Function Types as Return Types (函数类型作为返回值类型) 一个函数的类型可以作为另一个函数的返回值类型.可以在一个函数的返回值箭头后面写上一个完整的函数类型. 例如: 下面的例子定义了两个简单的函数,分别为stepForward 和 stepBackward.其中stepForward函数返回值比它的输入值多1,stepBackward函数返回值比它输入值少1.这两个函数的 类型都是(Int) -> Int: func stepForward(input: Int

Welcome to Swift (苹果官方Swift文档初译与注解二十七)---189~198页(第四章-- 流程控制)

Switch 一个switch语句里包含一个值,并且用这个值与其他几个可能的匹配模式进行比较,然后根据成功匹配上的模式,执行相应的代码块.switch语句提供了比if语句更多的选项来相应多种潜 在的情况. 最简单的一个例子: switch some value to consider { case value 1:   respond to value 1 case value 2, value 3:   respond to value 2 or 3 default:   otherwise,

Welcome to Swift (苹果官方Swift文档初译与注解二十一)---140~147页(第三章--集合类型)

第三章 Collection Types (集合类型) 在Swift中,提供了两种集合类型用来存储一组值:数组和字典.数组有序的存储相同类型的值;字典存储无序的相同类型的值.字典可以通过唯一的标识(就是所说的键)来查询和访问. 在Swift中,数组和字典总是要清晰的标明他们存储数据的类型.这就意味着不可以将错误的类型插入到数组或字典中.同时也意味着你是明确了解你要遍历的数组或字典里面数据的类 型.在Swift中,集合要显式的声明类型来保证在开发中都会明确的知道它能处理的数据类型. 注意点: 在S

Welcome to Swift (苹果官方Swift文档初译与注解十一)---70~76页(第二章)

Type Aliases (类型别名) 类型别名是个已经存在的类型定义另一个名字.定义类型别名的时候,使用关键字typealias. 当你想要使用名字来引用一个已经存在的类型时,类型别名将非常有效,并且更适合代码的上下文理解.例如,当要处理指定大小的一个数据时: typealias AudioSample = UInt16 一旦定义了一个类型别名,就可以在任何地方来代替原来的类型名: var maxAmplitudeFound = AudioSample.min // maxAmplitudeF

Welcome to Swift (苹果官方Swift文档初译与注解十)---63~69页(第二章)

如果你将整型与浮点型一起使用,结果将被认为是Double类型: et anotherPi = 3 + 0.14159 // anotherPi 的类型是Double 上述代码中,3的值是没有明确说明类型,因此,根据剩余部分的浮点类型可以确定返回值为Double. Numeric Literals (数值的进制表示) 整数类型可以进行如下表示: A decimal number, with no prefix         // 十进制数值,不需要前缀符号; A binary number, w