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

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

本文原创发表于博客园,作者为路过秋天,原文链接:http://www.cnblogs.com/cyq1162/p/6156230.html

时间: 2024-10-31 14:26:37

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

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

本文来自Swift中文开发组,感谢翻译者的分享. 本文将分几部分对Swift对ios的语法做讲解.本文为第一节,主要讲解基础语法. 常量和变量 常量和变量把一个名字(比如maximumNumberOfLoginAttempts或者welcomeMessage)和一个指定类型的值(比如数字10或者字符串"Hello")关联起来.常量的值一旦设定就不能改变,而变量的值可以随意更改. 声明常量和变量 常量和变量必须在使用前声明,用let来声明常量,用var来声明变量.下面的例子展示了如何用常

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

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

【Java】基础语法

虽然说Java又是一门新的编程语言,但基础的语法部分还都是可以和之前学习的编程语言一样的. 既然被称之为语法,那就必然有一定的规则.其中,在标识符和关键字部分,我们就可以很明显的看出一些强制性的要求. 关键字不能作为标识符,标识符为小写字母等,这有着一系列的规则,然而我们也并不需要去记,按着常规走,结合自身的以往的一些经验,就没什么问题. 学习了这么久的编程语言,也是总结过很多次关于数据的知识点.而这一次,一层一层,把它们之间的关系联系的更紧密了. 数据在程序中是少不了的.而我们如何获取数据或者

jsp基础语法 一 scriptlet

jsp作为WEB的开发基础,有其重要的地位,那么熟练掌握JSP的语法及应用就成了重中之重. 首先我们一起先从JSP的基本语法学起:(以下内容来自李兴华视频手稿整理) scriptlet简介 script表示的是脚本小程序,像之前out.println()这个语句是缩写在<%%>之中的,很明显,这里面 缩写的语句就是一个script. 在jsp中最重要的部分就是Scriptlet(脚本小程序),所有嵌入在HTML代码中的java程序都必须使用 Scriplet标记出来,在jsp中一共有三种scr

jsp基础语法 六 jsp+jdbc访问数据库

学习过了jsp基础语法以及HTML和javascript的用法之后,jsp+jdbc连接数据库开发动态WEB网页就可以实现了. 对于学过java SE的同学来说,数据库的操作并不陌生,如果有忘记的或者不会的可以到http://zhaoyuqiang.blog.51cto.com/6328846/1127658  学习. jsp中的数据库连接又是如何呢? 怎样才能利用上我们学过的HTML和javascript的知识呢? 这就是我们这一篇文章的学习内容----jsp+jdbc访问数据库. 我们就以一

jsp基础语法 五 跳转指令

跳转的作用: 使用跳转指令可以将一个用户的请求,从一个页面传递到另外一个页面. 例如:用户登录QQ空间,如果用户名和密码正确的话就会跳转到空间首页,否则就会跳转到失败页. 跳转指令的语法: 不传递参数   <jsp:forward page=""/> 传递参数:  <jsp:forward page=""> <jsp:param name="参数名称" value="参数内容"> </

jsp基础语法 四 包含指令

什么是包含: 在页面开发的时候,一些代码难免会有重复使用的情况,比如说A页面有一段代码a,B页面和C页面都能用到a这段代码,那么B和C页面就把A页面包含进来,自然的a这段代码也被包含进BC页面了,这样就实现了B.C页面能用到a代码了,避免了重复的书写a代码. 包含的意义: 使用包含操作,可以将一些重复的代码包含进来继续使用. 一般分为如上四个区域. 真正在改变的地方只是具体内容,因为根据不同的用户浏览的不同,那么肯定这上面会存在差别  现在就有两种做法实现以上一种功能 方法一:在没有一个jsp页

jsp基础语法 三 page指令

page指令 page指令是在jsp开发中较为重要,使用此属性,可以定义一个jsp页面的相关属性,包括 设置MIME类型.定义需要导入的包.错误页的指定等 page指令的语法:<%@ page 属性="内容"%> page的主要属性: 设置MIME 先来观察一道程序: <html> <head> <title> New Document </title> </head> <body> <cente

jsp基础语法 二 注释的使用

我的一个同学问我,java中有"//"这个样的注释,用起来挺方便的,jsp的注释难道不是这个吗?用"//"在jsp中不行. 对于学习了这么长时间的jsp,注释是最基本的.jsp中的注释不同于java. 在jsp中支持两种注释,一种是显示注释,这种注释客户端是允许看见的,另外一种注释是隐式注释,此种注释客户端是无法看见的. 显示注释语法: <!--注释内容--> 隐式注释语法: 格式一:// 注释,单行注释: 格式二:  /* 注释 */,多行注释: 格式