背景:

这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~

总体而言,感觉Swift是一种前后端多种语言混合的产物~~~

做为一名.NET阵营人士,少少多多总喜欢通过对比来加深认识。

所以做了一个简单的比较列表。

下面是基础语法的比较:

Swift

C#(4.0以上)

常量定义:

let name=”cyq.data”

Const name=”cyq.data”;

变量定义:

指定类型:

var name=”cyq.data”

var name:String=”cyq”

var name=”cyq.data”;

string name=”cyq”;

类型转换:

var i=3;

var s:String=String(i)

var s2:Strng=”\(i)”

var i=3;

var s=i.ToString();

var s2=Convert.ToString(i);

var s3=(string)I;

数组定义:

var lis=[1,3]

int[] list={1,2};

数组遍历:

for item in list { }

foreach (var item in list){ }

字典定义:

var dic=[“a”:”v1”,”b”:”v2”]

var dic = new Dictionary<string, string>();

dic.Add("a","v1");

dic.Add("b", "v2");

字典遍历:

for (key,value) in dic

{

var k=key

var v=value

}

foreach (var item in dic)

{

var k= item.Key;

var v = item.Value;

}

区间范围:

for I in 0…200 { }

for (int i = 0; i <= 200; i++){ }

函数定义:

func getName(a:Int)->Bool

bool GetName(int a)

可变参数:

func getName(a:Int…) ->Bool { }

bool GetName(params int[] items){ }

属性定义:

var name:String{

get{}

set{}

}

string Name { get; set; }

修饰符:

public internal private

意思和C#的一致,

默认也是:internal

但没有Protect

public internal private protect

构造函数:

class MyClass{

init() //都是这个名称

}

class MyClass{

MyClass () //和类同名

}

可选类型:

可空类型

var i:Int?=3

取值:i!

int? i=3;

取值:i.Value

(基)类参数:

self、super

this、base

枚举定义:

enum ABCF:Int {

case A=1,B,C

case F

}

enum ABCF{

case A

case getName(Int)

}

好变态~~~

enum ABCF{

A,

B=1,

C

}

只有数字常量,没有字符或方法

扩展属性:

扩展方法:

extenstion Int{

var i

func toString()

}

public static class XXXx

{

public static string ToString(this int a)

{

return a.ToString();

}

}

协议:

接口:

protocol MAction { }

public interface IMAction { }

总结:

Swift 由于是前后端混合的语言,因此,有大部分的语法是一致的:

包括运算符、分支、循环、类的继承等。

还有匿名函数lamda表达式也极相似。

Swift连闭包都有了,也可知道JavaScript的分量也不轻。

涉入太浅,也只能吐这么点知识了,哈~~

Swift与C#的基础语法比较的更多相关文章

  1. Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数

    知识点 基本概念 结构体的基本使用 结构体构造器(构造函数/构造方法) 结构体扩充函数(方法), 又称成员方法 结构体是值类型 1. 基本概念 1.1 概念介绍 结构体(struct)是由一系列具有相 ...

  2. Swift - 34 - 闭包的基础语法

    //: Playground - noun: a place where people can play import UIKit // 初始化一个整数数组 var arr = [1, 3, 5, 7 ...

  3. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  4. Swift基础语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...

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

    本文来自Swift中文开发组,感谢翻译者的分享. 本文将分几部分对Swift对ios的语法做讲解.本文为第一节,主要讲解基础语法. 常量和变量 常量和变量把一个名字(比如maximumNumberOf ...

  6. Swift基础语法(二)

    操作符 swift中运算符基本基础于c,下面我就给大家白话白话那些被优化过的运算符们 //加号减号的妙用 var a= var b= -a//此时b=-1 var c = +b//此时 c=-1 va ...

  7. [Swift2.0系列]Defer/Guard 基础语法

    1.Defer Swift2.0中加入了defer新语法声明.defer译为延缓.推迟之意.那么在Swift2.0中它将被应用于什么位置呢?比如,读取某目录下的文件内容并处理数据,你需要首先定位到文件 ...

  8. swift3.0基础语法

    swift 3.0 基础语法 目录 01-变量和常量 02-运算符 03-可选项 04-条件语句 05-循环 06-字符串 07-元组 08-数组 09-字典 10-对象和类 11-枚举 12-属性 ...

  9. swift3.0基础语法(2)

    变量/常量,元组声明 var aaa = 0;//声明变量aaa 首次赋值时自动解析为Int类型 var aaa:Int = 0;//声明Int类型变量aaa let aaa = 0;//声明常量aa ...

随机推荐

  1. 【AR实验室】OpenGL ES绘制相机(OpenGL ES 1.0版本)

    0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLA ...

  2. 关于开启.NET在线提升教育培训的通知! - 可在此页面观看在线直播!

    年前在线公开课程通知: 近期在开启VIP课程,隔天讲一次,年前其它时间插空讲公开课,主题:设计模式系列 1:培训 - 大概不会讲的内容: 1:不讲系列. 2:不讲入门. 3:不讲我不懂的! 2:培训 ...

  3. 搞个这样的APP要多久?

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  4. [APUE]系统数据文件与信息

    一.口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":&quo ...

  5. PHP之购物车的代码

    该文章记录了购物车的实现代码,仅供参考 book_sc_fns.php <?php include_once('output_fns.php'); include_once('book_fns. ...

  6. Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

    忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大.如果你是第一次安装,在mysql安装完成之后,会弹出来 ...

  7. JS的内建函数reduce

    @(js) reduce函数,是ECMAScript5规范中出现的数组方法.在平时的工作中,相信大家使用的场景并不多,一般而言,可以通过reduce方法实现的逻辑都可以通过forEach方法来变相的实 ...

  8. Atitit.attilax软件研发与项目管理之道

    Atitit.attilax软件研发与项目管理之道 1. 前言4 2. 鸣谢4 3. Genesis 创世记4 4. 软件发展史4 5. 箴言4 6. 使徒行传 4 7. attilax书 4 8. ...

  9. Oracle 11g必须开启的服务及服务详细介绍

    转自:http://www.educity.cn/shujuku/404120.html 成功安装Oracle  11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通 ...

  10. mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战

    首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...