Swift與C#的基礎文法比較,

來源:互聯網
上載者:User

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的分量也不輕。

涉入太淺,也只能吐這麼點知識了,哈~~

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.