这两天不小心看了一下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的分量也不轻。
涉入太浅,也只能吐这么点知识了,哈~~
本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/p/6156230.html
相关资源:敏捷开发V1.0.pptx