Swift基础 (一)

1:hello world

import Foundation

println("hello world")

就这样,一句代码就可以打印出 hello world 不需要在末尾加";" 这里如果你加了";"同样可以运行的。感觉好像是为了避免麻烦,不再像c语言那样,每句代码末尾都加";",说来也是,从哲学来说,每句代码都加";"约等于不加";" ,反而每次都写,麻烦!

2:代码注释,和c语言的 "//" 与"/* */"一样

3: println()输出

如果要输出变量

var fTmp = 8.9
println("\(fTmp)")//println的格式化是用的"\()"来做的,这个万能的东西,顶替了c语言的printf()时候用%s,%d, %c, %f格式化写参数的办法。其原因我估计还是因为他能推理变量的类型,所以自己做了数据类型格式化吧,
 

4:常量和变量

在使用前必须要先声明。声明是用 ":"

var strMsg: String
strMsg = "I‘m swift"
var strMsg : String?//默认初始化位nil
let iMax = 10 //常量 ,需要初始化,不能再次被修改//iMax = 9 编译失败,可能类似与c语言的const修饰吧。var iMini = 3//变量,可以不初始化
var iTmp : Int32//变量声明。没初始化
iTmp = 44//变量赋值

这里,swift对数据类型是采用的推理类型而来的,他的推理类型也符合c语言中数据类型转换时候的兼容规则

var fTmp = 8.9
fTmp = 9
println("\(fTmp)")
//这里推理fTmp为float类型,那么这里在fTmp=9时候,可以把整数9类型转换成float类型。所以你可以看到输出的是 9.0但反之则不行

var fTmp = 8

//fTmp = 9.02 编译失败

 

可以一次定义多个变量

var iTmp = 9, iTex = 9.8//这里每个变量的类型推理都是独立的。
// iTmp = 8.99 出错
//iTmp 被推理为 int。 iTex推理为float

var red, green, blue: Double//表示三个变量都为Double类型

 

变量名和常量名支持unicode,这样,也可以用汉字或者其他字符,但我想我是不会这么使用的。

5:int 数据类型

int数据表示范围可以用 .max方法

let minValue = UInt8.min  // minValue is equal to 0, and is of type UInt8
let maxValue = UInt8.max  // maxValue is equal to 255, and is of type UInt8

Int 根据系统,32系统下表示 Int32 和64位系统下Int64。

UInt 根据系统,32系统下表示 UInt32 和64位系统下UInt64。

let decimalInteger = 17
let binaryInteger = 0b10001       // 17 in binary notation
let octalInteger = 0o21           // 17 in octal notation
let hexadecimalInteger = 0x11     // 17 in hexadecimal notation

类型转换

var dbVar :Double
dbVar = 9.9
let iVar = Int(dbVar)
println("\(iVar)")

var strInt = "123"
var iVar = strInt.toInt()
如果成功,iVar返回Int 否则返回nil
  

6:Bool 该类型明确的是 "true" 和"false"

if 语句只检测Bool类型

let iFlag= 1
if iFlag {
    // 编译失败, 1不是逻辑值
}
let iFlag= 1
if 1==iFlag {
    //可以
}

7:元组数据 用()括起来

let tupError = (500, "httpError")
let (errorCode, errorMsg) = tupError
println("\(errorCode)")//500
println("\(errorMsg)")// httpError

你也可以定义命名元组

let tupError = (errorCode :500, errorMsg:"httpError")
println("\(errorCode)")//500
println("\(errorMsg)")// httpError

8:nil swift的nil不同于其他语言,比如OC表示空指针,而swift表示没有值,至于类型不仅限于指针类型。swift中可以把nil设置给任何类型

var iFlag :Int?
iFlag = nil
iFlag = 9

Swift基础 (一)

时间: 2024-10-30 08:52:58

Swift基础 (一)的相关文章

从Pitre《Swift 基础教程2nd》开始

看了两天<Learn Objective-C on the MAC> 中文版本<Objective-C基础编程>,大概认真读到了第9章内存管理部分,感觉这语言可比C++简单多了. 第一天,因为有C语言基础的缘故,我在windows 上安装了GNUstep (Objective-C)开发环境,变看电子书籍,边在PC上编译运行树上的示例,几乎一个都没放过,还做了不少笔记. (毕竟作者 Mark Dalrymaple & Scott Knaster 是高屋建瓴,叙述技术娓娓道来,

3.Swift基础知识

Swift是用来开发iOS和OS X应用的新语言,但是许多地方用起来跟C或者OC是差不多的. Swift提供了C语言和OC的基本数据类型,比如整型用Int,浮点型用Double或者Float,布尔型用Bool,字符串文本用String,Swift还提供了两种集合类型,Array和Dictionary,后面会介绍. Swift也跟C一样用唯一的变量名来存储与使用数据,还能使用一些值不会变的变量,应该说是常量,比C里面的常量要强大.在涉及到一些值不会发生变化的数据时使用常量类型能让代码更安全整洁.

随手记Swift基础和Optional Type(问号?和感叹号!)

距离Apple推出Swift已经有几天了,网上也时不时出现"急招Swift程序员,要求有一天工作经验"的帖子. 看到Swift,除了苹果放的另外一门语言的链接(http://swift-lang.org/),还可能联想到Taylor Swift,或者铃木雨燕. 这几天网上关于Swift的话题和材料应该迅速膨胀,比如StackOverflow的相关标签,还有知乎上的一些相关讨论. 关于Swift的推出,我个人觉得对现有的使用Objective-C的iOS开发者不算是很大的冲击,毕竟写代码

Swift基础语法(常量变量、数据类型、元组、可选、断言等)

Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的. Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值.在 Sw

Swift学习——Swift基础详解(四)

A:小儿编程很不好! B:多半是不爱学,从看英文版开始,让你爱上编程! Type Aliases    类型重定义(typedef) Swift中重定义类型的关键字是typealias,至于怎么用,应该不必多说了,看例子: typealias AudioSample = UInt16 //定义了一个类型名称AudioSample,代表UInt16类型 var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound is now 0 Boo

Swift基础 - - 高德地图实践(一)

高德地图开发需要自己到官网http://lbs.amap.com/console/ 注册一个ak,新建一个swift工程,然后在Info.plist中添加一个NSLocationAlwaysUsageDescription或者NSLocationWhenInUseUsageDescription. 高德地图的库以及依赖库加入到项目里面 需要的库如下截图: 添加头文件 具体的方式见Swift基础--调用第三方OC项目,在Bridging-Header.h中加入如下代码,这样我们就可以调用高德地图相

Swift学习——Swift基础详解(一)

注:由于基础部分在Swift Tour 中已经大体的说明了,所以在详解中不会达到100%的原文释义 Constants and Variables  常量和变量 常量和变量都需要声明名称和类型(作为程序员,这些基础也就不说了),常量一次赋值不能改变,变量的值可以改变 Declaring Constants and Variables   声明常量和变量 常量和变量在使用之前必须要声明,使用let关键字定义常量,var关键字定义变量 下面的例子可以用来定义用户登录的时候最大的尝试次数: let m

Swift学习——Swift基础详解(二)

上节说了没有营养的变量和常量,这玩意,都差不多,自己稍微看下就好了 Integers    整型 整数就是整数了,没有小数,整数有符号(+,-,0)或者无符号(0,+) Swift提供了8,16,32,64位的有符号和无符号的整数,命名使用C的方式,比如,8位无符号的整型UInt8,32位有符号的整型就是Int32 Integer Bounds    整型范围 可以使用min 和 max获取整数类型的最大值和最小值 let minValue = UInt8.min // minValue is

Swift学习——Swift基础详解(三)

小葵花课堂继续开讲 Numeric Literals    数字文本 数字文本有以下几种写法: A decimal number, with no prefix A binary number, with a 0b prefix An octal number, with a 0o prefix A hexadecimal number, with a 0x prefix 十进制数,无前缀:二进制数,0b前缀:八进制数,0o前缀:十六进制数,0x前缀 论数字17的N种表现形式: let deci

Swift学习——Swift基础详解(八)

Assertions    断言 可选可以让你判断值是否存在,你可以在代码中优雅地处理值缺失的情况.然而,在某些情况下,如果值缺失或者值并不满足特定的条件,你的代码可能并不需要继续执行.这时,你可以在你的代码中触发一个断言(assertion)来结束代码运行并通过调试来找到值缺失的原因. Debugging with Assertions    使用断言进行调试 断言会在运行时判断一个逻辑条件是否为true.从字面意思来说,断言"断言"一个条件是否为真.你可以使用断言来保证在运行其他代