天天看點

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 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() //都是這個名稱

 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)

好變态~~~

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

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

本文原創發表于部落格園,作者為路過秋天,原文連結:http://www.cnblogs.com/cyq1162/p/6156230.html