【Swift学习】Swift编程之旅(一)

  学习一门新语言最经典的例子就是输出“Hello World!”swift

print("Hello World!")  swift就是这样来输出的。

若是你使用过其余语言,那么看上去是很是的熟悉吧。但比一些c要简单的多吧数组

一、不须要导入一些单独的库,好比输入/输出或字符串处理功能的类库,函数

二、不须要在全局范围内编写的代码用于做为入口点程序,因此你不须要 main()函数,学习

三、不须要写在每一个语句的末尾的分号。这样写是否是很简单~测试

 

  简单值spa

使用let来声明一个常量,var声明一个变量。一个常量值在编译时无须知道,但你只能赋值一次,咱们须要在声明时赋值,若是屡次赋值会发生编译错误,以下图3d

一个变量值能够在声明时赋值,也能够在之后赋值。code

常量或者变量的类型必须和赋给它们的值同样。然而,声明时类型是可选的,声明同时赋值的话,编译器会自动推断类型。在上面的例子中,编译器推断出var1是一个整数(integer)由于它的初始值是整数。blog

若是初始值没有提供足够的信息(或者没有初始值),那你须要在变量后面声明类型,用冒号分割。
 
数值不会被隐式转换为其余类型,必须显式转换,例如转换为字符型
 
若不显式转换会发生编译错误,以下图
 
 
最简单的转换为把值写到括号中,而且在括号以前写一个\
 
   
常量和变量的命名规则
1. 你能够用任何你喜欢的字符做为常量和变量名,包括 Unicode 字符
即便你使用中文常量名也是毫无问题的
2. 常量与变量名不能包含k数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符
3. 不能以数字开头
4.一旦你将常量或者变量声明为肯定的类型, 你就不能使用相同的名字再次进行声明,或者改变其存储的值的类型。同时,你也不能将常量与变量进行互转。
5.避免使用关键字做为常量或变量名
   数组和字典
使用[]来建立数组和字典,经过数组索引或字典的键(key)来访问元素。元素之间使用逗号分隔。
var shoppingList = ["catfish", "water", "tulips", "blue paint"] shoppingList[1] = "bottle of water" var occupations = [ "Malcolm": "Captain", "Kaylee": "Mechanic", ] occupations["Jayne"] = "Public Relations”

 咱们看一下结果索引

 

OK!和咱们预期的同样。

 

下面咱们建立一个空的数组和字典

let emptyArray = [String]()//建立一个元素为字符类型的数组 let emptyDict = [String:float]()//建立一个key为字符类型,值为浮点类型的字典

 

若是类型能够被推断出来,你可使用[]和[:]来建立空的数组和字典。

 

  控制流

使用if和switch执行条件操做,使用for-in ,for,while,repeat-while执行循环操做。条件或循环变量的圆括号是可选的,可是语句体的大括号({})是必须的.

let individualScores = [75, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score > 50 { teamScore += 3 } else { teamScore += 1 } } print(teamScore)//输出11

 

在if语句中条件必须是一个布尔(Boolean)表达式。在这里咱们明晰能够看出swift语法的简洁。

var optionalString: String? = "Hello" print(optionalString == nil) var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName { greeting = "Hello, \(name)" }

 

 输出结果:

false。

Hello, John Appleseed

由于optionalString和optionalName都是有具体的值,但若是optionalName=nil的话,那么greeting输出结果为Hello!

 

var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    greeting = "Hello, \(name)"
}
else{
greeting = "Hello,匿名"
}

 

输出结果

false

Hello,匿名

 

switch支持任意类型的数据和各类比较操做,它不局限于整数和相等的测试

let vegetable = "red pepper" switch vegetable { case "celery": print("Add some raisins and make ants on a log.") case "cucumber", "watercress": print("That would make a good tea sandwich.") case let x where x.hasSuffix("pepper"): print("Is it a spicy \(x)?") default: print("Everything tastes good in soup.") }

 

 

输出结果为

Is it a spicy red pepper?

相关文章
相关标签/搜索