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

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

时间: 2024-08-28 06:20:26

Swift与C#的基础语法比较的相关文章

Swift基础语法(常量变量、数据类型、元组、可选、断言等)

Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的. Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值.在 Sw

Swift学习(1基础语法)

Swift     基础语法 基本 1.取消了预处理命令 2.取消了指针的概念 3.取消了NS前缀 4.大量将类替换成struct 5.";" 在同一行用来分割语句,如果不是同一行可以省略 6.可选项 7.playground 8.条件语句"if",空执行"()" 9.没有非0即真的逻辑 10.switch  (1)可以针对任意类型的值进行分支,不在局限在整数 (2)且一般不需要break. (3)可以用","分割可选值 (4

Swift基础语法学习总结(转)

Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. 1.3) swift在语句后面加分号与否都是正确的,但是swift偏好的风格是不在结尾处加分号的.如果有多个语句,必须用分号隔开. 1.4) 在一个数字中庸下划线(_)会被忽视,方便认出大数值的的数字,也可以在前面补零. 1.5) swift不允许在不同种类型间做加减乘

swift基础语法1.23

主要是swift的基础语法,其中print("其中为 输出内容"),但是加入你在其中加入一个反斜杠的话,那么就表示里面可以坐成一个表达式,例如如果a+B=5 ,print("\(a+B)是什么玩意")那么输出后的结果就是5是一个什么玩意.其次还有逻辑运算方向这个·就是·和C语言基本一样 先乘除,后加减·,然后最后做成逻辑运算.此外还有区间运算 例如这个利用了objectC的for in for(UIview *view in UIViewController)这个就

kotlin 官方学习教程之基础语法

Google 在今天的举行了 I/O 大会,大会主要主要展示内有容 Android O(Android 8.0)系统.Google Assistant 语音助手.Google 智能音箱.人工智能.机器学习.虚拟现实等.作为一个 Android 开发者,我关心的当然是 Android O(Android 8.0)系统了,那么关于 Android O 系统的一个重要消息是全面支持 Kotlin 编程语言,使得 Kotlin 成为了 Android 开发的官方语言,被称为 Android 开发中的 S

1.js基础语法

1.Js基础语法 1.数据类型 JavaScript不区分整数和浮点数,统一用Number表示 NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity 2.比较运算符 要特别注意相等运算符==.JavaScript在设计时,有两种比较运算符: 第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果: 第二

JavaScript:基础语法

JavaScript:基础语法 注释 JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{...}.但是,JavaScript并不强制要求在每个语句的结尾加;浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;.JavaScript严格区分大小写,如果弄错了大小写,程序将报错或者运行不正常. 注释: // 这是一行注释 alert('love qinjiang'); // 这也是注释 /* 从这里开始是块注释 仍然是注释 仍然是注释 注释结束 */ 变

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

关于JS脚本语言的基础语法

JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法:1.所有的字符全都是英文半角的:2.大部分情况下每条语句结束后要加分号:3.每一块代码结束后加换行:4.程序前呼后应: