zoukankan      html  css  js  c++  java
  • Swift与C#的基础语法比较

    背景:

    这两天不小心看了一下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的分量也不轻。

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

  • 相关阅读:
    Dubbo2.0
    Dubbo--RPC框架
    ActiveMQ消息队列
    quartz开源任务调度框架
    webService
    crud最常用
    springBoot第三天
    springmvc--依赖
    springBoot第二天
    pom.xml和settings.xml的下载优先级
  • 原文地址:https://www.cnblogs.com/cyq1162/p/6156230.html
Copyright © 2011-2022 走看看