斯威·夫特(S·wift)与C#的功底语法相比语言

引进2本学习java书和PDF下载地址

背景:

那二日不小心看了一晃斯威·夫特(S·wift)的基本功语法,感觉既然看了,仍旧写一下笔记,留个痕迹~

总体而言,感觉斯威·夫特(S·wift)是一种左右端多种语言混合的产物~~~

做为一名.NET阵营人员,少少多多总喜欢通过对照来强化认识。

据此做了一个粗略的可比列表。

《深切明白Java虚拟机:JVM高级特性与最佳实践》共分为五多数,围绕内存管理、执行子系统、程序编译与优化、高效并发等骨干主旨对JVM进行了完善而深深的辨析,深入表露了JVM的工作规律。第一有的从微观的角度介绍了上上下下Java技术系统、Java和JVM的迈入进度、模块化,以及JDK的编译,那对精通本书前面内容有重大扶持。第二局地上书了JVM的电动内存管理,包蕴虚拟机内存区域的细分原理以及各样内存溢出卓殊发生的缘由;常见的垃圾堆收集算法以及垃圾收集器的表征和劳作原理;常见虚拟机监控与故障处理工具的规律和应用方法。第三有的分析了虚拟机的执行子系统,蕴涵类公事结构、虚拟机类加载机制、虚拟机字节码执行引擎。第四部分执教了程序的编译与代码的优化,解说了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热门探测方法、HotSpot的即时编译器、编译触发条件,以及哪些从虚拟机外部观看和剖析JIT编译的多寡和结果;第五片段探索了Java完成飞速并发的规律,包罗JVM内存模型的构造和操作;原子性、可知性和有序性在Java内存模型中的浮现;先行发生原则的平整和运用;线程在Java语言中的落成原理;虚拟机达成长足并发所做的一种类锁优化措施。

上面是基础语法的可比:

 

 

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 { }

 

本书适合所有Java程序员、系统调优师和系列架构师阅读。 

总结:

斯维夫特 由于是内外端混合的语言,由此,有大多数的语法是同等的:

席卷运算符、分支、循环、类的存续等。

还有匿名函数lamda表达式也极相似。

斯维夫特连闭包都有了,也可明白JavaScript的份量也不轻。

涉入太浅,也不得不吐这么点知识了,哈~~

 

语言 1

 

深深精通Java虚拟机:JVM高级特性与最佳实践 第2版 高清PDF下载

百度网盘免费下载地址:http://pan.baidu.com/s/1jGxaP74

源码+PDF见上边的连年

——————————————分割线——————————————

FTP地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

在 2014年LinuxIDC.com\9月\深深精通Java虚拟机:JVM高级特性与最佳实践
第2版 高清PDF+源码

下载格局见 http://www.linuxidc.com/Linux/2013-10/91140.htm

——————————————分割线——————————————

正文永久更新链接地址http://www.linuxidc.com/Linux/2014-09/106869.htm

 

 

二、thinking in java 下载地址

http://vdisk.weibo.com/s/sYrOrIqygbN7

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图