前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >半天学会Swift

半天学会Swift

作者头像
音视频_李超
发布2020-04-02 18:12:53
5560
发布2020-04-02 18:12:53
举报

分类

C/C++语言

swift

说明

常量

Const int a = 1234;

Let a = 1234

1. c/c++有明确的类型,而swift都是隐式类型2. c/c++以;为隔符,而 swift是以回车换行为分隔符。

变量

Int a = 1234;

Var a = 1234

变量swift也是不需要指定类型的。

If语句

If(a>5){...}else{...}

if score > 50 {teamScore += 3} else {teamScore += 15. }

在 c/c++中 if 语句后面需要 (),而 switf则不需要。

For 语句

For(int i=0; i<10; i++){...}

For a in list {...}

1. Swift好像不爱用 (),在 for 语句中也不使用它。2. Swift 使用 in 来遍历,这基本是现代语言的常用方式了。

While语句

While (n < 100){}

While n<100 {n *= 22}

1. 同样不使用()

Switch…case

Switch(state){Case 1:…Break;Case 2:…Break;Default:}

Switch stat {Case 1:…Case 2:…Default:}

1. 同样,swift在 switch 中也不用 ()2. Break也省掉了,这是写c/c++特别容易出错的地方。

函数

Int myfunc(int a){Printf("the arg is %d", a);Return a;}Int aa = myfunc(a);

Func myfunc( a:int )->int{Print("the arg is (a)");Return a}Var aa = myfunc(a)

1. c/c++函数返回值在前面,而 swift的返回值在后面,而且有 ->关键字。2. 在定义函数时,swift也躲不开()了。3. c/c++形参的格式是 类型 形参变量,而swift是形参变量:类型 4. swift定义函数是要用 func 关键字,而 c/c++不需要。

函数多返回值

func calculateStatistics(scores: [Int]) -> (min: Int, max: Int, sum: Int) {var min = scores[0]var max = scores[0]var sum = 0for score in scores {if score > max {max = score} else if score < min {min = score}sum += score}return (min, max, sum)}

Swift函数可以返回多个值,而 c/c++不行。这点比较特殊。

Class A{Public:A(){}~A(){}Public:…Private:…};

Class A{Var aFunc getA() -> int{ Return a}Init(){}}

1. 在c/c++中,有 public/protected/private的权限防问,而swift没有这个限制。2. 在c/c++中的构造函数与类名相同,而在 swift里是 init。3. 在c/c++中类定义完扣有 ;, 而swift里没有。

类的继承

Class A: public B{}

Class A: B{Override func () ->int{}}

1.区别在于没有 public/protected之类的访问权限限制。2. 方法重载在c/c++里是自动的,而在 swift里需要加 override关键字。

类的属性

Class EquilateralTriangle{Private:Double perimeter;Public:Void setPerimeter(Double p){Perimeter = p;}Double getPerimeter(){Return perimeter;}}

class EquilateralTriangle: NamedShape {var sideLength: Double = 0.0init(sideLength: Double, name: String) {self.sideLength = sideLengthsuper.init(name: name)numberOfSides = 3}var perimeter: Double {get {return 3.0 * sideLength}set {sideLength = newValue / 3.0}}override func simpleDescription() -> String {return "An equilateral triangle with sides of length (sideLength)."}}var triangle = EquilateralTriangle(sideLength: 3.1, name: "a triangle")print(triangle.perimeter)triangle.perimeter = 9.9print(triangle.sideLength)

在 c/c++中,要想访问私有的成员变量,必须通过在类中定义的setter/getter公有方面才行。而在swift中,可以对某个成员变量设置 get/set 属性,而调用的时候,可以通过"."来访问。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档