swift编程语言入门介绍

   swift是什么?

  swift是苹果于wwdc 2014发布的编程语言,这里引用the swift programming language的原话:

  swift is a new programming language for ios and os x apps that builds on the best of c and objective-c without the constraints of c compatibility.

  swift adopts safe programming patterns and adds modern features to make programming easier more flexible and more fun.

  swift’s clean slate backed by the mature and much-loved cocoa and cocoa touch frameworks is an opportunity to imagine how software development works.

  swift is the first industrial-quality systems programming language that is as expressive and enjoyable as a scripting language.


  简单的说:

  swift用来写ios和os x程序。(估计也不会支持其它屌丝系统)

  swift吸取了c和objective-c的优点,且更加强大易用。

  swift可以使用现有的cocoa和cocoa touch框架。

  swift兼具编译语言的高性能(performance)和脚本语言的交互性(interactive)。

  swift语言概览

  基本概念

  注:这一节的代码源自the swift programming language中的a swift tour。

  hello world

  类似于脚本语言,下面的代码即是一个完整的swift程序。

  1

  println(" hello world" )

  变量与常量

  swift使用var声明变量,let声明常量。

  1

  2

  3

  var myvariable = 42

  myvariable = 50

  let myconstant = 42

  类型推导

  swift支持类型推导(type inference),所以上面的代码不需指定类型,如果需要指定类型:

  1

  let explicitdouble : double = 70

  swift不支持隐式类型转换(implicitly casting),所以下面的代码需要显式类型转换(explicitly casting):

  1

  2

  3

  let label = " the width is "

  let width = 94

  let width = label + string(width)

  字符串格式化

  swift使用(item)的形式进行字符串格式化:

  1

  2

  3

  4

  let apples = 3

  let oranges = 5

  let applesummary = " i have (apples) apples."

  let applesummary = " i have (apples + oranges) pieces of fruit."

  数组和字典

  swift使用[]操作符声明数组(array)和字典(dictionary):

  1

  2

  3

  4

  5

  6

  7

  8

  var shoppinglist = [" catfish" " water" " tulips" " blue paint" ]

  shoppinglist[1] = " bottle of water"

  var occupations = [

  " malcolm" : " captain"

  " kaylee" : " mechanic"

  ]

  occupations[" jayne" ] = " public relations"

  一般使用初始化器(initializer)语法创建空数组和空字典:

  1

  2

  let emptyarray = string[]()

  let emptydictionary = dictionary< string float> ()

  如果类型信息已知,则可以使用[]声明空数组,使用[:]声明空字典。

  控制流

  概览

  swift的条件语句包含if和switch,循环语句包含for-in、for、while和do-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号:

  1

  2

  3

  4

  5

  6

  7

  8

  9

  let individualscores = [75 43 103 87 12]

  var teamscore = 0

  for score in individualscores {

  if score > 50 {

  teamscore += 3

  } else {

  teamscore += 1

  }

  }

  可空类型

  结合if和let,可以方便的处理可空变量(nullable variable)。对于空值,需要在类型声明后添加?显式标明该类型可空。

  1

  2

  3

  4

  5

  6

  7

  8

  var optionalstring: string? = " hello"

  optionalstring == nil

  var optionalname: string? = " john appleseed"

  var gretting = " hello!"

  if let name = optionalname {

  gretting = " hello (name)"

  }

  灵活的switch

  swift中的switch支持各种各样的比较操作:

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  let vegetable = " red pepper"

  switch vegetable {

  case " celery" :

  let vegetablecomment = " add some raisins and make ants on a log."

  case " cucumber" " watercress" :

  let vegetablecomment = " that would make a good tea sandwich."

  case let x where x.hassuffix(" pepper" ):

  let vegetablecomment = " is it a spicy (x)?"

  default:

  let vegetablecomment = " everything tastes good in soup."

  }

时间: 2024-08-03 06:14:50

swift编程语言入门介绍的相关文章

Swift初体验之HelloWord+苹果Swift编程语言入门教程【中文版】

AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.swift // SwiftHelloWord // // Created by jason on 14-6-5. // Copyright (c) 2014年 JasonApp. All rights reserved. // import UIKit @UIApplicationMain class AppD

Swift 编程语言入门教程_Swift

原文地址:http://gashero.iteye.com/blog/2075324 目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍<The Swift Programming Language>中摘录和提取而成.希望对各位的iOS&OSX开发有所帮助. Swift是供iOS和OS X应用编程的新编程语言,基于C和Obj

Swift编程语言入门之对象与类

  使用 class 可以创建一个类.一个属性的声明则是在类里作为常量或变量声明的,除了是在类的上下文中.方法和函数也是这么写的. class Shape { var numberOfSides = 0 func simpleDescription() -> String { return "A shape with (numberOfSides) sides." } } 练习 通过 "let" 添加一个常量属性,以及添加另一个方法能接受参数. 通过在类名后加

「玩一玩」Swift编程语言(中文版)(拜读原文中,未完待续)

问题描述 持续更新的博客地址:原文可以在iTunes免费下载远远没有完成.我还真是贱哪.不知道发到哪个板块,就随便在这里发一下了.感觉C#论坛快被我当成记事本了.前言今天Apple发布了新的编程语言Swift,也提供了一本将近400页的TheSwiftProgrammingLanguage(Swift编程语言).虽然我没有开发者账号,没法实际上机练习Swift代码,但这不影响我阅读这本书,以及用铅笔在纸上运行这些小程序.Apple的东西如此之火爆,Swift一经推出大家纷纷转投iOS/OSX怀抱

Asp.Net MVC4入门指南(1): 入门介绍

前言 本教程将为您讲解使用微软的Visual Studio Express 2012或Visual Web Developer 2010 Express Service Pack 1 来建立一个ASP.NET MVC4 Web应用程序所需要的基础知识.建议您使用Visual Studio 2012,你将不再需要安装任何组件,来完成此教程.如果您使用的是Visual Studio 2010,您必须安装下面的组件.您可以通过点击下面的链接,来安装所需的所有组件: Visual Studio Web

ECC加密算法入门介绍

加密|算法 ECC加密算法入门介绍 前言 同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开密钥算法.目前,国内详细介绍ECC的公开文献并不多(反正我没有找到).有一些简介,也是泛泛而谈,看完后依然理解不了ECC的实质(可能我理解力太差).前些天我从国外网站找到些材料,看完后对ECC似乎懵懂了.于是我想把我对ECC的认识整理一下,与大家分享.当然ECC博

用于编写游戏的主要编程语言的介绍及其优缺点

这是每个游戏编程FAQ里都有的问题.这个问题每星期都会在游戏开发论坛上被问上好几 次.这是个很好的问题,但是,没人能给出简单的答案.在某些应用程序中,总有一些计算 机语言优于其他语言.下面是几种用于编写游戏的主要编程语言的介绍及其优缺点.希望这 篇文章能帮助你做出决定. 1.C 语言 如果说FORTRAN和COBOL是第一代高级编 译语言,那么C语言就是它们的孙子辈.C语言是Dennis Ritchie在七十年代创建的,它功能 更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和

基础Python的socket编本入门介绍

  基础Python的socket编本入门介绍          这篇文章主要介绍了最基础的Python的socket编程入门教程,包括最基本的发送和接受信息等内容,需要的朋友可以参考下 本文介绍使用Python进行Socket网络编程,假设读者已经具备了基本的网络编程知识和Python的基本语法知识,本文中的代码如果没有说明则都是运行在Python 3.4下. Python的socket功能封装在socket库中,要使用socket,记得先import socket,socket库的详细介绍参

[Python爬虫] scrapy爬虫系列 &amp;lt;一&amp;gt;.安装及入门介绍

        前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更为广泛使用的Python爬虫框架是--Scrapy爬虫.这是一篇在Windows系统下介绍 Scrapy爬虫安装及入门介绍的相关文章.         官方 Scrapy  :http://scrapy.org/         官方英文文档:http://doc.scrapy.or