這兩天不小心看了一下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