Swift简明教程

Swift简明教程
Swift简明教程

Swift是什么?

Swift是苹果于WWDC 2014发布的编程语言,这里引用The Swift Programming Language的原话:

Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility.

Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more fun.

Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to imagine how software development works.

Swift is the first industrial-quality systems programming language that is as expressive and enjoyable as a scripting language.

简单的说:

Swift用来写iOS和OS X程序。(估计也不会支持其它屌丝系统)

Swift吸取了C和Objective-C的优点,且更加强大易用。

Swift可以使用现有的Cocoa和Cocoa Touch框架。

Swift兼具编译语言的高性能(Performance)和脚本语言的交互性(Interactive)。

Swift语言概览

基本概念

注:这一节的代码源自The Swift Programming Language中的A Swift Tour。

Hello, world

类似于脚本语言,下面的代码即是一个完整的Swift程序。

?println("Hello, world") 变量与常量

Swift使用var声明变量,let声明常量。

?var myVariable = 42

?myVariable = 50

?let myConstant = 42

类型推导

Swift支持类型推导(Type Inference),所以上面的代码不需指定类型,如果需要指定类型:

?let explicitDouble : Double = 70

Swift不支持隐式类型转换(Implicitly casting),所以下面的代码需要显式类型转换(Explicitly casting):

?let label = "The width is "

?let width = 94

?let width = label + String(width)

字符串格式化

Swift使用\(item)的形式进行字符串格式化:

?let apples = 3

?let oranges = 5

?let appleSummary = "I have \(apples) apples."

?let appleSummary = "I have \(apples + oranges) pieces of fruit."

数组和字典

Swift使用[]操作符声明数组(array)和字典(dictionary):

?var shoppingList = ["catfish", "water", "tulips", "blue paint"]

?shoppingList[1] = "bottle of water"

?var occupations = [

?"Malcolm": "Captain",

?"Kaylee": "Mechanic",

?]

?occupations["Jayne"] = "Public Relations"

一般使用初始化器(initializer)语法创建空数组和空字典:

?let emptyArray = String[]()

?let emptyDictionary = Dictionary()

如果类型信息已知,则可以使用[]声明空数组,使用[:]声明空字典。

控制流

概览

Swift的条件语句包含if和switch,循环语句包含for-in、for、while和do-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号:

?let individualScores = [75, 43, 103, 87, 12]

var teamScore = 0

for score in individualScores {

if score > 50 {

teamScore += 3

} else {

teamScore += 1

}

}

可空类型

结合if和let,可以方便的处理可空变量(nullable variable)。对于空值,需要在类型声明后添加?显式标明该类型可空。

?var optionalString: String? = "Hello"

optionalString == nil

var optionalName: String? = "John Appleseed"

var gretting = "Hello!"

if let name = optionalName {

gretting = "Hello, \(name)"

}

灵活的switch

Swift中的switch支持各种各样的比较操作:

?let vegetable = "red pepper"

?switch vegetable {

?case "celery":

?let vegetableComment = "Add some raisins and make ants on a log." ?case "cucumber", "watercress":

?let vegetableComment = "That would make a good tea sandwich." ?case let x where x.hasSuffix("pepper"):

?let vegetableComment = "Is it a spicy \(x)?"

?default:

?let vegetableComment = "Everything tastes good in soup."

?}

其它循环

for-in除了遍历数组也可以用来遍历字典:

?let interestingNumbers = [

?"Prime": [2, 3, 5, 7, 11, 13],

?"Fibonacci": [1, 1, 2, 3, 5, 8],

?"Square": [1, 4, 9, 16, 25],

?]

?var largest = 0

?for (kind, numbers) in interestingNumbers {

?for number in numbers {

?if number > largest {

?largest = number

?}

?}

?}

?largest

while循环和do-while循环:

?var n = 2

?while n < 100 {

?n = n * 2

?}

?n

?var m = 2

?do {

?m = m * 2

?} while m < 100

?m

Swift支持传统的for循环,此外也可以通过结合..(生成一个区间)和for-in实现同样的逻辑。

?var firstForLoop = 0

?for i in 0..3 {

?firstForLoop += i

?}

?firstForLoop

?var secondForLoop = 0

?for var i = 0; i < 3; ++i {

?secondForLoop += 1

?}

注意:Swift除了..还有...:..生成前闭后开的区间,而...生成前闭后闭的区间。

函数和闭包

函数

Swift使用func关键字声明函数:

?func greet(name: String, day: String) -> String {

?return "Hello \(name), today is \(day)."

?}

?greet("Bob", "Tuesday")

通过元组(Tuple)返回多个值:

?func getGasPrices() -> (Double, Double, Double) { ?return (3.59, 3.69, 3.79)

?}

?getGasPrices()

支持带有变长参数的函数:

?func sumOf(numbers: Int...) -> Int {

?var sum = 0

?for number in numbers {

?sum += number

?}

?return sum

?}

?sumOf()

?sumOf(42, 597, 12)

函数也可以嵌套函数:

?func returnFifteen() -> Int {

?var y = 10

?func add() {

?y += 5

?}

?add()

?return y

?}

?returnFifteen()

作为头等对象,函数既可以作为返回值,也可以作为参数传递:

?func makeIncrementer() -> (Int -> Int) {

?func addOne(number: Int) -> Int {

?return 1 + number

?}

?return addOne

?}

?var increment = makeIncrementer()

?increment(7)

?func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool { ?for item in list {

?if condition(item) {

?return true

?}

?}

?return false

?}

?func lessThanTen(number: Int) -> Bool {

?return number < 10

?}

?var numbers = [20, 19, 7, 12]

?hasAnyMatches(numbers, lessThanTen)

闭包

本质来说,函数是特殊的闭包,Swift中可以利用{}声明匿名闭包:

?numbers.map({

?(number: Int) -> Int in

?let result = 3 * number

?return result

当闭包的类型已知时,可以使用下面的简化写法:

?numbers.map({ number in 3 * number })

此外还可以通过参数的位置来使用参数,当函数最后一个参数是闭包时,可以使用下面的语法:

?sort([1, 5, 3, 12, 2]) { $0 > $1 } 类和对象创建和使用类

Swift使用class创建一个类,类可以包含字段和方法:

?class Shape {

?var numberOfSides = 0

?func simpleDescription() -> String {

?return "A shape with \(numberOfSides) sides."

?}

?}

创建Shape类的实例,并调用其字段和方法。

?var shape = Shape()

?shape.numberOfSides = 7

?varshapeDescription = shape.simpleDescription()

通过init构建对象,既可以使用self显式引用成员字段(name),也可以隐式引用(numberOfSides)。

?class NamedShape {

?var numberOfSides: Int = 0

?var name: String

?init(name: String) {

?https://www.360docs.net/doc/767603170.html, = name

?}

?func simpleDescription() -> String {

?return "A shape with \(numberOfSides) sides."

?}

使用deinit进行清理工作。

继承和多态

Swift支持继承和多态(override父类方法):

?class Square: NamedShape {

?var sideLength: Double

?init(sideLength: Double, name: String) {

?self.sideLength = sideLength

?super.init(name: name)

?numberOfSides = 4

?}

?func area() -> Double {

?return sideLength * sideLength

?}

?override func simpleDescription() -> String {

?return "A square with sides of length \(sideLength)."

?}

?}

?let test = Square(sideLength: 5.2, name: "my test square")

?test.area()

?test.simpleDescription()

注意:如果这里的simpleDescription方法没有被标识为override,则会引发编译错误。属性

为了简化代码,Swift引入了属性(property),见下面的perimeter字段:

?class EquilateralTriangle: NamedShape {

?var sideLength: Double = 0.0

?init(sideLength: Double, name: String) {

?self.sideLength = sideLength

?super.init(name: name)

?numberOfSides = 3

?}

?var perimeter: Double {

?get {

?return 3.0 * sideLength

?}

?set {

?sideLength = newValue / 3.0

?}

?}

?override func simpleDescription() -> String {

?return "An equilateral triagle with sides of length \(sideLength)."

?}

?}

?var triangle = EquilateralTriangle(sideLength: 3.1, name: "a triangle")

?triangle.perimeter

?triangle.perimeter = 9.9

?triangle.sideLength

注意:赋值器(setter)中,接收的值被自动命名为newValue。

willSet和didSet

EquilateralTriangle的构造器进行了如下操作:

为子类型的属性赋值。调用父类型的构造器。修改父类型的属性。

如果不需要计算属性的值,但需要在赋值前后进行一些操作的话,使用willSet和didSet:?class TriangleAndSquare {

?var triangle: EquilateralTriangle {

?willSet {

?square.sideLength = newValue.sideLength

?}

?}

?var square: Square {

?willSet {

?triangle.sideLength = newValue.sideLength

?}

?}

?init(size: Double, name: String) {

?square = Square(sideLength: size, name: name)

?triangle = EquilateralTriangle(sideLength: size, name: name)

?}

?}

?var triangleAndSquare = TriangleAndSquare(size: 10, name: "another test shape") ?triangleAndSquare.square.sideLength

?triangleAndSquare.square = Square(sideLength: 50, name: "larger square")

?triangleAndSquare.triangle.sideLength

从而保证triangle和square拥有相等的sideLength。

调用方法

Swift中,函数的参数名称只能在函数内部使用,但方法的参数名称除了在内部使用外还可以在外部使用(第一个参数除外),例如:

?class Counter {

?var count: Int = 0

?func incrementBy(amount: Int, numberOfTimes times: Int) {

?count += amount * times

?}

?}

?var counter = Counter()

?counter.incrementBy(2, numberOfTimes: 7)

注意Swift支持为方法参数取别名:在上面的代码里,numberOfTimes面向外部,times 面向内部。

?的另一种用途

使用可空值时,?可以出现在方法、属性或下标前面。如果?前的值为nil,那么?后面的表达式会被忽略,而原表达式直接返回nil,例如:

?let optionalSquare: Square? = Square(sideLength: 2.5, name: "optional

?square")

?let sideLength = optionalSquare?.sideLength

当optionalSquare为nil时,sideLength属性调用会被忽略。

枚举和结构

枚举

使用enum创建枚举——注意Swift的枚举可以关联方法:

?enum Rank: Int {

?case Ace = 1

?case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten

?case Jack, Queen, King

?func simpleDescription() -> String {

?switch self {

?case .Ace:

?return "ace"

?case .Jack:

?return "jack"

?case .Queen:

?return "queen"

?case .King:

?return "king"

?default:

?return String(self.toRaw())

?}

?}

?}

?let ace = Rank.Ace

?let aceRawValue = ace.toRaw()

使用toRaw和fromRaw在原始(raw)数值和枚举值之间进行转换:

?if let convertedRank = Rank.fromRaw(3) {

?let threeDescription = convertedRank.simpleDescription()

?}

注意枚举中的成员值(member value)是实际的值(actual value),和原始值(raw value)没有必然关联。

一些情况下枚举不存在有意义的原始值,这时可以直接忽略原始值:

?enum Suit {

?case Spades, Hearts, Diamonds, Clubs

?func simpleDescription() -> String {

?switch self {

?case .Spades:

?return "spades"

?case .Hearts:

?return "hearts"

?case .Diamonds:

?return "diamonds"

?case .Clubs:

?return "clubs"

?}

?}

?let hearts = Suit.Hearts

?let heartsDescription = hearts.simpleDescription()

除了可以关联方法,枚举还支持在其成员上关联值,同一枚举的不同成员可以有不同的关联的值:

?enum ServerResponse {

?case Result(String, String)

?case Error(String)

?}

?let success = ServerResponse.Result("6:00 am", "8:09 pm")

?let failure = ServerResponse.Error("Out of cheese.")

?switch success {

?case let .Result(sunrise, sunset):

?let serverResponse = "Sunrise is at \(sunrise) and sunset is at \(sunset)."

?case let .Error(error):

?let serverResponse = "Failure... \(error)"

?}

结构

Swift使用struct关键字创建结构。结构支持构造器和方法这些类的特性。结构和类的最大区别在于:结构的实例按值传递(passed by value),而类的实例按引用传递(passed by reference)。

?struct Card {

?var rank: Rank

?var suit: Suit

?func simpleDescription() -> String {

?return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"

?}

?let threeOfSpades = Card(rank: .Three, suit: .Spades)

?let threeOfSpadesDescription = threeOfSpades.simpleDescription() 协议(protocol)和扩展(extension)协议

Swift使用protocol定义协议:

?protocol ExampleProtocol {

?var simpleDescription: String { get }

?mutating func adjust()

?}

类型、枚举和结构都可以实现(adopt)协议:

?class SimpleClass: ExampleProtocol {

?var simpleDescription: String = "A very simple class."

?var anotherProperty: Int = 69105

?func adjust() {

?simpleDescription += " Now 100% adjusted."

?}

?}

?var a = SimpleClass()

? a.adjust()

?let aDescription = a.simpleDescription

?struct SimpleStructure: ExampleProtocol {

?var simpleDescription: String = "A simple structure"

?mutating func adjust() {

?simpleDescription += " (adjusted)"

?}

?}

?var b = SimpleStructure()

? b.adjust()

?let bDescription = b.simpleDescription

扩展

扩展用于在已有的类型上增加新的功能(比如新的方法或属性),Swift使用extension 声明扩展:

?extension Int: ExampleProtocol {

?var simpleDescription: String {

?return "The number \(self)"

?}

?mutating func adjust() {

?self += 42

?}

?}

?7.simpleDescription

泛型(generics)

Swift使用<>来声明泛型函数或泛型类型:

?func repeat(item: ItemType, times: Int) -> ItemType[] {

?var result = ItemType[]()

?for i in 0..times {

?result += item

?}

?return result

?}

?repeat("knock", 4)

Swift也支持在类、枚举和结构中使用泛型:

?// Reimplement the Swift standard library's optional type

?enum OptionalValue {

?case None

?case Some(T)

?}

?var possibleInteger: OptionalValue = .None

?possibleInteger = .Some(100)

有时需要对泛型做一些需求(requirements),比如需求某个泛型类型实现某个接口

或继承自某个特定类型、两个泛型类型属于同一个类型等等,Swift通过where描述这些需求:

?func anyCommonElements

?U: Sequence, T.GeneratorType.Element: Equatable,

?T.GeneratorType.Element == U.GeneratorType.Element> (lhs: T, rhs: U) -> Bool { ?for lhsItem in lhs {

?for rhsItem in rhs {

?if lhsItem == rhsItem {

?return true

?}

?}

?}

?return false

?}

?anyCommonElements([1, 2, 3], [3])

Swift语言概览就到这里,有兴趣的朋友请进一步阅读The Swift Programming Language。

接下来聊聊个人对Swift的一些感受。

个人感受

注意:下面的感受纯属个人意见,仅供参考。

大杂烩

尽管我接触Swift不足两小时,但很容易看出Swift吸收了大量其它编程语言中的元素,这些元素包括但不限于:

属性(Property)、可空值(Nullable type)语法和泛型(Generic Type)语法源自C#。格式风格与Go相仿(没有句末的分号,判断条件不需要括号)。Python风格的当前实例引用语法(使用self)和列表字典声明语法。Haskell风格的区间声明语法(比如1..3,1...3)。协议和扩展源自Objective-C(自家产品随便用)。枚举类型很像Java(可以拥有成员或方法)。class和struct的概念和C#极其相似。

注意这里不是说Swift是抄袭——实际上编程语言能玩的花样基本就这些,况且Swift 选的都是在我看来相当不错的特性。

而且,这个大杂烩有一个好处——就是任何其它编程语言的开发者都不会觉得Swift很陌生——这一点很重要。

拒绝隐式(Refuse implicity)

Swift去除了一些隐式操作,比如隐式类型转换和隐式方法重载这两个坑,干的漂亮。

Swift的应用方向

我认为Swift主要有下面这两个应用方向:

教育

我指的是编程教育。现有编程语言最大的问题就是交互性奇差,从而导致学习曲线陡峭。相信Swift及其交互性极强的编程环境能够打破这个局面,让更多的人——尤其是青少年,学会编程。

这里有必要再次提到Brec Victor的Inventing on Principle,看了这个视频你就会明白一个交互性强的编程环境能够带来什么。

应用开发

现有的iOS和OS X应用开发均使用Objective-C,而Objective-C是一门及其繁琐(verbose)且学习曲线比较陡峭的语言,如果Swift能够提供一个同现有Obj-C框架的简易互操作接口,我相信会有大量的程序员转投Swift;与此同时,Swift简易的语法也会带来相当数量的其它平台开发者。

总之,上一次某家大公司大张旗鼓的推出一门编程语言及其编程平台还是在2000年(微软推出C#),将近15年之后,苹果推出Swift——作为开发者,我很高兴能够见证一门编程语言的诞生。

SWIFT报文的结构与报文类型

SWIFT 标准资料(十五)2003年11月实施版 SWIFT 标准 报文的结构与报文类型 2003年11月发布标准 2003年标准发布指南-最终版本-2003年2月 全国金融标准化技术委员会秘书处 对外经济贸易大学金融科技中心 2003-08-06

SWIFT标准报文 SWIFT标准报文(金融服务报文) SWIFT开发的商业标准报文已经成功应用在金融服务领域,而且根据市场的需要在不断发展中。2003版SWIFT标准扩大了应用范围,规范了具体形式,同时采用了先进的技术成果、可以满足金融服务的需要,包括批量支付、投资基金、证券、信托等方面。SWIFT标准的下一个版本将在2005年5月发布。 下面表示的是SWIFT标准2003版的发布过程:从2002年8月开始到2003年11月 正式实施。 Schedule for Standards Release 2003 For implementation schedule is as follows: High-Level Release 2003 Preliminary Standards Release Guide 2003 Preliminary Message Format Validation Rules 2003 Final Standards Release Guide 2003 Final Message Format Validation Rules 2003 Vendor Test System Testing & Training System If necessary Rules 2003

第一章报文结构和报文类型 1.1 SWIFT报文结构 所有金融报文必须符合SWIFT标准卷描述的某种报文类型的规则。 报文类型由三个数字组成,一般定义为: 类目通常在一般程度上描述报文的基础商业功能,如类目1=客户支付和支票。 分组描述某一特定类目中的报文功能,如11n=类目1的支票支付报文。 类型描述具体功能,如112=支票止付请求的状态。 因此,通过报文类型(位于报文标题),报文接收方可以帮助决定报文的内容和功能,以及其组成内容细节。 本节提供报文类型的一般规则。属于单个报文的详细说明可以在相关类目卷查找到。 1.2 SWIFT报文类型 下方表格列出SWIFT标准卷中定义的所有报文类型,在2002年十月标准版本中有效。 对于每个报文类型,均存在简述、报文类型需要认证标识(Y或N)、最大报文长度(2,000或10,000)以及使用报文是否需要在SWIFT注册(Y或N)。 注意:MUG,出于本书目的,是自愿同意支持特定报文类型并且在SWIFT注册发送或接收特定报文的使用者群组。下方表格中的“MUG”列标出了这些报文。(关于MUG的更多信息在表后

iOS游戏框架Sprite Kit基础教程——Swift版上册

本文由我司收集整编,推荐下载,如有疑问,请与我司联系iOS 游戏框架Sprite Kit 基础教程——Swift 版上册2014/12/19 0 iOS 游戏框架Sprite Kit 基础教程——Swift 版上册试读下载地址:pan.baidu/s/1qWBdV0C 介绍:本教程是国内唯一的Swift 版的Spritekit 教程。本教程基于Xcode6.1 iOS8.1 开发环境,采用Swift 语言,详细讲解SpriteKit 游戏开发的各种知识,帮助 读者尽快iOS 游戏开发的技能。目录目录第1 章编写第一个Sprite Kit 程序11.1 Sprite Kit 介绍11.1.1 什么是Sprite Kit 11.1.2 Sprite Kit 优缺点11.2 苹果账号的注册21.2.1 苹果账号的分类21.2.2 注册免费苹果账号21.2.3 注册非免费苹果账号51.3 Xcode 的下载和安装71.3.1 App Store 上下载和安装Xcode 81.3.2 其它的网站上下载Xcode 111.4 绑定苹果账号111.5 更新组件与文档131.6 编写第一个程序131.6.1 创建项目141.6.2 Xcode 界面介绍161.6.3 运行程序171.6.4 模拟器介绍191.6.5 场景编辑器271.6.6 编写代码291.7 使用帮助文档301.8 调试321.9 真机测试341.9.1 申请和下载证书341.9.2 实现真机测试43 第2 章场景442.1 添加场景442.2 显示新增的场景472.3 设置场景482.3.1 设置场景的背影颜色482.3.2 设置场景的缩放模式502.3.3 设置测试信息512.4 切换场景552.4.1 单纯的场景切换562.4.2 具有过渡动画的场景562.5 滚动场景592.5.1 让场景进行滚动602.5.2 永无休止的滚动场景64 第3 章精灵673.1 节点介绍673.2 添加图像到项目中673.3 显示精灵693.3.1 使用场景编辑器显示精灵693.3.2 使用代码显示无纹理的精灵723.3.3 使用代码显示纹理精灵733.4 设置精灵743.4.1 设置精灵的位置743.4.2 设置锚点753.4.3 对精灵着色763.4.4 调整精灵的尺寸773.4.5 缩放精灵793.4.6 旋转精灵813.4.7 设置精灵的透明度823.4.8 隐藏精灵833.5 删除精灵853.5.1 删除指定的精灵853.5.2 删除所有精灵863.6 让精灵更具真实感873.7 移动精灵913.8 纹理943.8.1 纹理的创建943.8.2 纹理的显示94 第4 章动作964.1 移动动作964.1.1 以点的方式移动974.1.2 以偏移量的方式移动994.2 序列动作1014.3 重复动作1034.3.1 无限重复1034.3.2 具有次数的重复1054.4 延迟动作1064.5 缩放动作1084.5.1 以缩放倍数缩放1094.5.2 以增量缩放1114.6 旋转动作1134.7

SWIFT报文格式手册

S W I F T报文格式手册 Revised by Petrel at 2021

2006年度SWIFT报文格式更新手册(2006/11/18起生效)

S WIFT MT700/701 I SSUEOFA D/C 开立跟单信用证 MT700/701范围 1.由开证行发送给通知行的报文(注意:收、发报行间必须具有BKE密押关系); 2.用来列明开证行发报行所开立的信用证条款。

除非另外列明,所开立的跟单信用证遵循巴黎国际商会制定的《跟单信用证统一惯例》。当该信用证遵循此惯例时,通知行(收报行)必须将之通知受益人或是另一家通知行。 除非另外列明,如果适用,跟单信用证项下的偿付遵循巴黎国际商会制定的《跟单信用证项下银行间偿付的统一规则》。 当跟单信用证的长度超过一个MT700的容量时,可以用一个或几个(最多三个)MT701报文格式来补充传送信息。 除非另外列明,根据该报文通知受益人或是另一家通知行的跟单信用证是已生效的信用证。 对自由议付跟单信用证,如果收报行不再以MT710报文格式转通知,那么该银行必须在信用证上加注: 每次议付时必须提交通知受益人的信用证正本 议付行必须在所通知的信用证正本上标注每一次的议付情况 为了避免可能产生的误解,尽可能使用银行的SWIFTBIC代码来表示银行名称,而不要用 “ourselves”、“yourselves”、“us”、“you”这些词。 通知行应该明确清楚地将跟单信用证的全部内容(包括任何细节)通知受益人。MT700/701域使用规则 1.报文中可以出现域39A或39B,但不能同时出现; 2.域42C和42a在被使用时必须同时出现;

Swift中文版教程

苹果Swift编程语言入门教程【中文版】 目录 1简介 2Swift入门 3简单值 4控制流 5函数与闭包 6对象与类 7枚举与结构 1简介 Swift是供iOS和OSX应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和CocoaTouch框架,展示了软件开发的新方向。 Swift已经存在了多年。Apple基于已有的编译器、调试器、框架作为其基础架构。通过ARC(AutomaticReferenceCounting,自动引用计数)来简化内存管理。我们的框架栈则一直基于Cocoa。Objective-C进化支持了块、collectionliteral和模块,允许现代语言的框架无需深入即可使用。(bygashero)感谢这些基础工作,才使得可以在Apple软件开发中引入新的编程语言。 Objective-C开发者会感到Swift的似曾相识。Swift采用了Objective-C的命名参数和动态对象模型。提供了对Cocoa框架和mix-and-match的互操作性。基于这些基础,Swift 引入了很多新功能和结合面向过程和面向对象的功能。

Swift对新的程序员也是友好的。他是工业级品质的系统编程语言,却又像脚本语言一样的友好。他支持playground,允许程序员实验一段Swift代码功能并立即看到结果,而无需麻烦的构建和运行一个应用。 Swift集成了现代编程语言思想,以及Apple工程文化的智慧。编译器是按照性能优化的,而语言是为开发优化的,无需互相折中。(bygashero)可以从"Hello,world"开始学起并过渡到整个系统。所有这些使得Swift成为Apple软件开发者创新的源泉。 Swift是编写iOS和OSX应用的梦幻方式,并且会持续推进新功能的引入。我们迫不及待的看到你用他来做点什么。 2Swift入门 一个新语言的学习应该从打印"Hello,world"开始。在Swift,就是一行: println("Hello,world") 如果你写过C或Objective-C代码,这个语法看起来很熟悉,在Swift,这就是完整的程序了。你无需导入(import)一个单独的库供输入输出和字符串处理。全局范围的代码就是用于程序的入口,所以你无需编写一个main()函数。你也无需在每个语句后写分号。 这个入门会给出足够的信息教你完成一个编程任务。无需担心你还不理解一些东西,所有没解释清楚的,会在本书后续详细讲解。 Note 作为最佳实践,可以将本章在Xcode的playground中打开。Playground允许你编辑代码并立即看到结果。 3简单值 使用let来定义常量,var定义变量。常量的值无需在编译时指定,但是至少要赋值一次。这意味着你可以使用常量来命名一个值,你发现只需一次确定,却用在多个地方。

SWIFT报文格式手册

2006年度SWIFT报文格式更新手册(2006/11/18起生效)

S W I F T M T 7 0 0 / 7 0 1 I S S U E O F A D / C 开立跟单信用证 MT700/701 范围 1. 由开证行发送给通知行的报文(注意:收、发报行间必须具有BKE密押关系); 2. 用来列明开证行发报行所开立的信用证条款。 MT700格式(M = Mandatory O = Optional)

O44A Loading on Board/Dispatch/Taking in 1*65x Charge at / from O44B For Transportation to...1*65x O44C Latest Date of Shipment6!n O44D Shipment Period6*65x O45A Description of Goods and/or Services100*65x O46A Documents Required100*65x O47A Additional Conditions100*65x O71B Charges6*35x O48Period for Presentation4*35x M49Confirmation Instructions7!x O53a Reimbursing Bank A or D 12*65x O78Instructions to the Paying/Accepting/Negotiating Bank O57a"Advise Through" Bank A, B or D O72Sender to Receiver Information6*35x MT701格式(M = Mandatory O = Optional) Status Tag Field Name Content/Options M27Sequence of Total1!n/1!n M20Documentary Credit Number16x O45B Description of Goods and/or Services100*65x O46B Documents Required100*65x O47B Additional Conditions100*65x MT700/701 准则 除非另外列明,所开立的跟单信用证遵循巴黎国际商会制定的《跟单信用证统一惯例》。当该信用证遵循此惯例时,通知行(收报行)必须将之通知受益人或是另一家通知行。 除非另外列明,如果适用,跟单信用证项下的偿付遵循巴黎国际商会制定的《跟单信用证项下银行间偿付的统一规则》。 当跟单信用证的长度超过一个MT700的容量时,可以用一个或几个(最多三个)MT701报文格式来补充传送信息。 除非另外列明,根据该报文通知受益人或是另一家通知行的跟单信用证是已生效的信用证。 对自由议付跟单信用证,如果收报行不再以MT710报文格式转通知,那么该银行必须在信用证上加注: 每次议付时必须提交通知受益人的信用证正本 议付行必须在所通知的信用证正本上标注每一次的议付情况 为了避免可能产生的误解,尽可能使用银行的SWIFT BIC代码来表示银行名称,而不要用

SWIFT报文定义

SWIFT格式及含义一份SWIFT电文,由报头(Header Block)、正文(Text Block)、报尾(Trailer Block)组成,还会标明发报银行(类似于Correspondents BIC/TID或Sender),和收报银行(Receiver)等。 信用证中开头、结尾的古怪条款就是报头报尾,中间带条款编号(31C、46A之类的)才是正文。 A.外国银行发送MT700/701电文给国内银行,开立信用证。 B.国内银行通知我们,并发送MT730电文给外国银行,确认收妥信用证。 C.如果要修改信用证,根据外商申请,外国银行发送MT707电文给国内银行,告知修改内容。 D.我们出货交单,如果国内银行议付,则发MT754 电文给开证行,并另外快递寄单。 E.开证行收到单证审核无误,发MT732电文给国内银行表示接受。 F.如果有不符点,开证行发MT734给国内银行,拒付。 G.有不符点,国内银行可以发MT750 给开证行,“电提”。开证行接受的,回复MT752授权议付。 H.国内银行议付的,回过头发送MT742向开证行收钱。 2.电文格式分类: SWIFT电文根据银行的实际运作共划分为十大类: 第一类:客户汇款与支票,如:MT101,MT103,MT110等; 第二类:银行寸头调拨,如:MT200,MT201等; 第三类:外汇买卖,货币市场及衍生工具,如:MT300,MT305; 第四类:托收,如:MT400,MT410,MT412等; 第五类:证券业务. 第六类:银团贷款和贵重金属业务. 第七类:跟单信用证和保函,如:MT700/701,MT705等 第八类:旅行支票. 第九类;银行和客户帐务,如:MT900,MT910等; 第0类:SWIFT 系统电报. Swift MT707 信用证修改信用证项下的一种SWIFT格式, 例如所有的信用证都用MT700开出。 Swift MT760(信汇760) Swift MT760 是一种银行对银行的发出的信息,用于为保证乙方在乙银行的利益,由甲银行向乙银行开出的或者被申请开出的银行保函。根据MT760开出的保证,对甲银行的资金,封存并用做担保风险。 MT760 是经对相关单证的检验,确认,查证并发送到你方后产生的一种付款责任。如果它不符合你方标准,那么钱就不会进入你方的账户。钱不可能转出账户直到证件完全符合你方所在银行的标准。但是你必须有足够的钱作为保证金,或者你必须与银行机构有良好的关系(如果没有存款或者保证金的情况),才能用某种MT(信汇)来转账。此做法是避免此保函的受益人乙方风险的最佳途径。 SWIFT MT799/RWA 其实包含三个意思。 MT799是电文中银行文本的格式编号,不一定就是说资金证明,使用MT799只要银行愿意,发送任何内容的东西都可以。在国际贸易中MT799其实是相对MT999来说的,这两种电文格式是使用最多的普通格式,只是799是密文,999是明文。贸易还有一种使用得多的是MT760,这是一种专用格式电文,一般发送LC,BG。MT799, MT999和MT760的最重要的区别是前两者是一种单向电文,也就是送达到了就OK了,MT760是双向电文,必须由接收方确认。 RWA是银行安慰信(Bank Comfort Letter)的一种,全称是Letter of Ready,Willing (and financial) Able。一般这个是在使用银行金融工具时候银行在出具银行工具文本MT760之前确认银行客户具有出具银行工具的能力的时候使用的。国际贸易中LC也算是银行工具的一种,但

SWIFT清算系统功能说明书

1.子系统描述 SWIFT清算子系统采用最新的数据大集中体系结构,由操作前台、中间处理两部分组成,全行的SWIFT电文数据集中在总行的数据服务器,提高了系统的运行效率、安全性和可维护性。 前台为业务处理的操作界面,处理电文的录入、读取,检查、撮合、下划、资料的维护等操作。 中台为业务处理部分,业务规则和数据检查、日初、日终、对前台传送的数据进行相应的处理,生成传票,对帐务进行处理,报文自动分发等操作。并与ALLANCE系统相连,自动接收,发送报文。 外汇清算系统与国际结算系统、SWIFT ALLIANCE系统和记帐核心系统紧密相联,处理的业务内容包括行外来电的清分与转发、分行发往行外电文的转发、汇入款项的下划、分行每日付款总头寸统计、汇出款项的扣帐、所有汇入汇出款项的勾对核销、存放境外同业帐户余额的核对、退汇业务等,以及以上业务的帐务处理,并提供各种查询功能和清算业务量统计表。 2.系统参数设置 ●SWIFT清算窗口时间设置(由整个系统考虑) 由清算系统设置SWIFT清算窗口时间,在该时间范围之外的SWIFT报文将全部后台等待。 ●清算分支机构维护(由整个系统考虑) 维护内容加入SWIFT号码、机构英文名称等内容。

●头寸报文条件设置 系统根据此条件来判断报文是否为头寸报文,具体的参数设置为; ●报文所属分行条件设置 系统根据下列条件设置,根据报文类型以及报文中内容来判断报文的所属分行。 ●报文所属外围系统条件设置 对于由清算系统转发至各外围系统的报文,在此参数设置中配置:

●SWIFT清算系统用户设置(由整个系统考虑) ●黑名单维护 由下载的文本文件自动导入,可以通过界面进行增、删、改。 ●四角号码库维护 ●SWIFT参与行维护 由SWIFT网站下载FI.DAT文件,系统自动导入。 ●报文模版设置(该模板将用于手工生成报文)

《SWIFT开证说明》word版

一.SWIFT介绍 SWIFT又称:“环球同业银行金融电讯协会”,是国际银行同业间的国际合作组织,成立于一九七三年,目前全球大多数国家大多数银行已使用SWIFT系统。SWIFT的使用,使银行的结算提供了安全、可靠、快捷、标准化、自动化的通讯业务,从而大大提高了银行的结算速度。由于SWIFT的格式具有标准化,目前信用证的格式主要都是用SWIFT电文,因此有必要对SWIFT进行了解。 二.SWIFT特点 1.SWIFT需要会员资格。我国的大多数专业银行都是其成员。 2.SWIFT的费用较低。同样多的内容,SWIFT的费用只有TELEX(电传)的18%左右,只有CABLE(电报)的2.5%左右。 3.SWIFT的安全性较高。SWIFT的密押比电传的密押可靠性强、保密性高,且具有较高的自动化。 4.SWIFT的格式具有标准化。对于SWIFT电文,SWIFT组织有着统一的要求和格式。 三.SWIFT电文表示方式。 1.项目表示方式 SWIFT由项目(FIELD)组成,如:59 BENEFICIARY(受益人),就是一个项目,59是项目的代号,可以是两位数字表示,也可以两位数字加上字母来表示,如51a APPLICANT(申请人)。不同的代号,表示不同的含义。项目还规定了一定的格式,各种SWIFT电文都必须按照这种格式表示。在SWIFT 电文中,一些项目是必选项目(MANDATORY FIELD),一些项目是可选项目(OPTIONAL FIELD),必选项目是必须要具备的,如:31D DATE AND PLACE OF EXPIRY (信用证有效期),可选项目是另外增加的项目,并不一定每个信用证都有的,如:39B MAXIMUM CREDIT AMOUNT(信用证最大限制金额)。 2.日期表示方式 SWIFT电文的日期表示为:YYMMDD(年月日)如:1999年5月12日,表示为:990512; 2000年3月15日,表示为:000315; 2001年12月9日,表示为:011209。 3.数字表示方式在SWIFT电文中,数字不使用分格号,小数点用逗号“,”来表示如:5,152,286.36 表示为:5152286,36; 4/5 表示为:0,8; 5% 表示为:5 PERCENT 4.货币表示方式澳大利亚元:AUD;奥地利元:ATS;比利时法郎:BEF;加拿大元:CAD;人民币元:CNY;丹麦克朗:DKK;德国马克:DEM;荷兰盾:NLG;

SWIFT格式及含义

SWIFT格式及含义 一份SWIFT电文,由报头(Header Block)、正文(Text Block)、报尾(Trailer Block)组成,还会标明发报银行(类似于Correspondents BIC/TID或Sender),和收报银行(Receiver)等。 信用证中开头、结尾的古怪条款就是报头报尾,中间带条款编号(31C、46A之类的)才是正文。 A.外国银行发送MT700/701电文给国内银行,开立信用证。 B.国内银行通知我们,并发送MT730电文给外国银行,确认收妥信用证。 C.如果要修改信用证,根据外商申请,外国银行发送MT707电文给国内银行,告知修改内容。 D.我们出货交单,如果国内银行议付,则发MT754 电文给开证行,并另外快递寄单。 E.开证行收到单证审核无误,发MT732电文给国内银行表示接受。 F.如果有不符点,开证行发MT734给国内银行,拒付。 G.有不符点,国内银行可以发MT750 给开证行,“电提”。开证行接受的,回复MT752授权议付。 H.国内银行议付的,回过头发送MT742向开证行收钱。 2.电文格式分类: SWIFT电文根据银行的实际运作共划分为十大类: 第一类:客户汇款与支票,如:MT101,MT103,MT110等; 第二类:银行寸头调拨,如:MT200,MT201等; 第三类:外汇买卖,货币市场及衍生工具,如:MT300,MT305; 第四类:托收,如:MT400,MT410,MT412等; 第五类:证券业务. 第六类:银团贷款和贵重金属业务. 第七类:跟单信用证和保函,如:MT700/701,MT705等 第八类:旅行支票. 第九类;银行和客户帐务,如:MT900,MT910等; 第0类:SWIFT 系统电报. Swift MT707 信用证修改 信用证项下的一种SWIFT格式, 例如所有的信用证都用MT700开出。 Swift MT760(信汇760) Swift MT760 是一种银行对银行的发出的信息,用于为保证乙方在乙银行的利益,由甲银行向乙银行开出的或者被申请开出的银行保函。根据MT760开出的保证,对甲银行的资金,封存并用做担保风险。 MT760 是经对相关单证的检验,确认,查证并发送到你方后产生的一种付款责任。如果它不符合你方标准,那么钱就不会进入你方的账户。钱不可能转出账户直到证件完全符合你方所在银行的标准。但是你必须有足够的钱作为保证金,或者你必须与银行机构有良好的关系(如果没有存款或者保证金的情况),才能用某种MT(信汇)来转账。此做法是避免此保函的受益人乙方风险的最佳途径。 SWIFT MT799/RWA 其实包含三个意思。 MT799是电文中银行文本的格式编号,不一定就是说资金证明,使用MT799只要银行愿意,发送任何内容的东西都可以。在国际贸易中MT799其实是相对MT999来说的,这两种电文格式是使用最多的普通格式,只是799是密文,999是明文。贸易还有一种使用得多的是

SWIFT--MT700格式解读与例证王心水中文版

SWIFT/MT700格式解读与例证(开立跟单信用证)Society for Worldwide Interbank Financial Telecommunication 环球同业银行金融电讯协会(SWIFT) ***************************************************************** MT 700 ISSUE OF A DOCUMENTARY CREDIT发出信用证 ***************************************************************** {1:F01IPCBCCNBJFJX0072708377633} {2:I700ICBCSGSGXXXXN} {4: 通知银行SWIFT ADDRESS地址以8位或11位表示 (1)27 :SEQUENCE OF TOTAL报文页次 1/1表示该信用证只有一部分,你阅读的就是这一部分 如果该跟单信用证条款能够全部容纳在该MT700报文中,那么该项目内就填入“1/1”。如果该证由一份MT700报文和一份MT701报文组成,那么在 MT700报文的项目“27”中填入“1/2”,在MT701报文的项目“27”中填入“2/2”。……,以此类推。 (2)40A :FORM OF DOCUMENTARY CREDIT跟单信用证形式UCP600规定,所有信用证都是不可撤销的。 该项目内容有六种填法: (1)IRREVOCABLE:不可撤销跟单信用证。 (2)REVOCABLE:可撤销跟单信用证。 (3)IRREVOCABLE TRANSFERABLE:不可撤销可转让跟单信用证。详细的转让条款应在项目“47a”中列明。 (4)REVOCABLE TRANSFERABLE:可撤销可转让跟单信用证。 (5)IRREVOCABLE STANDBY:不可撤销备用信用证。 (6)REVOCABLE STANDBY:可撤销备用信用证。 (3)20 :DOCUMENTARY CREDIT NUMBER 跟单信用证号码7AAAH2/0432/1 (4)23:REFERENCE TO PRE-ADVICE 预先通知编号 如果采用此格式开立的信用证已被已被预先通知,此项目内应填入 “PREADV/”,后跟预先通知的编号或日期。 (5)31C :DATE OF ISSUE开证日期 060418 该项目列明开证行开立跟单信用证的日期。如果报文无此项目,那么开证日期就是该报文的发送日期。 (6)31D :DATE AND PLACE OF EXPIRY 到期日及到期地点

SWIFT 报文(MT 700)中的代号及栏目名称

SWIFT 报文(MT 700)中的代号及栏目名称 SWIFT 报文(MT 700)中的代号及栏目名称 M/O 代号(Tag)栏目名称(Field Name) M 27 报文页数(Sequence of Total) M 40A 跟单信用证类别(Form of Documentary Credit) M 20 信用证编号(Documentary Credit Number) O 23 预先通知编号(Reference to Pre-Advice) O 31C 开证日期(Date of Issue) M 31D 到期日及到期地点(Date and Place of Expiry) O 51A 开证申请人的银行(Applicant Bank) M 50 申请人(Applicant) M 59 受益人(Beneficiary) M 32B 信用证的货币及金额(Currency Code, Amount) O 39A 信用证金额允许浮动的范围(Percentage Credit Amount Tolerance) O 39C 信用证金额最高限额(Maximum Credit Amount) O 41A 指定的有关银行及信用证的兑付方式(Available with … by …) M 42C 汇票付款期限(Draft at) O 42A 汇票付款人(Drawee) O 42M 混合付款条款(Mixed Payment Details) O 42P 迟期付款条款(Deferred Payment Details) O 43P 分批装运条款(Partial Shipments) O 43T 转运条款(Transshipment) O 44A 装船、发运和接受监督地点(Loading on Board/Dispatch/Taking in Charge at (from)) O 44B 货物发送最终目的地(For Transportation to …) O 44C 最迟装运日期(Latest Date of Shipment) O 44D 装运期(Shipment Period) O 45A 货物/劳务描述(Description of Goods and/or Services) O 46A 单据要求(Documents Required) O 47A 附加条款(Additional Conditions) O 71B 费用负担(Charges) O 48 交单期限(Period of Presentation) M 49 保兑指示(Confirmation Instructions) O 53A 偿付行(Reimbursing Bank) O 78 给付款行、承兑行或议付行的指示(Instructions to the Paying/Accepting/Negotiating Bank) O 57A 通知行(Advising Through Bank) O 72 附言(Sender to Receiver Information) 以上表格中的“M”为“Mandatory”,指电文中该项目的内容必须填写;“O”为“Optional”,指电文中该项目的内容可以选择不填写。

Swift中文版教程

苹果Swift 编程语言入门教程【中文版】 目录 1 简介 2Swift 入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简介 Swift 是供iOS 和OSX 应用编程的新编程语言,基于C 和Objective-C ,而却没有C 的一些兼容约束。Swift 采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa 和CocoaTouch 框架,展示了软件开发的新方向。 Swift 已经存在了多年。Apple 基于已有的编译器、调试器、框架作为其基础架构。通过 ARC(AutomaticReferenceCounting ,自动引用计数)来简化内存管理。我们的框架栈则一直基于Cocoa 。Objective-C 进化支持了块、collectionliteral 和模块,允许现代语言的框架无需深入即可使用。(bygashero) 感谢这些基础工作,才使得可以在Apple 软件开发中引入新的编程语言。 Objective-C 开发者会感到Swift 的似曾相识。Swift 采用了Objective-C 的命名参数和动态对象模型。提供了对Cocoa 框架和mix-and-match 的互操作性。基于这些基础,Swift 引入了很多新功能和结合面向过程和面向对象的功能。 Swift对新的程序员也是友好的。他是工业级品质的系统编程语言,却又像脚本语言一样的友好。他支持

playground ,允许程序员实验一段Swift代码功能并立即看到结果,而无需 麻烦的构建和运行一个应用。 Swift集成了现代编程语言思想,以及Apple工程文化的智慧。编译器是按照性能优化的, 而语言是为开发优化的,无需互相折中。(bygashero)可以从"Hello,world" 开始学起并过渡到整个系统。所有这些使得Swift成为Apple软件开发者创新的源泉。 Swift是编写iOS和OSX应用的梦幻方式,并且会持续推进新功能的引入。我们迫不及待的看到你用他来做点什么。 2Swift 入门 一个新语言的学习应该从打印"Hello,world" 开始。在Swift,就是一行: printin ("Hello,world") 如果你写过C或Objective-C 代码,这个语法看起来很熟悉,在Swift,这就是完整的程序了。你无需导入(import) —个单独的库供输入输出和字符串处理。全局范围的代码就是用于 程序的入口,所以你无需编写一个main()函数。你也无需在每个语句后写分号。 这个入门会给出足够的信息教你完成一个编程任务。无需担心你还不理解一些东西,所有没 解释清楚的,会在本书后续详细讲解。 3简单值

SWIFT报文地结构与报文类型

实用标准 SWIFT 标准资料(十五)2003年11月实施版 SWIFT 标准 报文的结构与报文类型 2003年11月发布标准 2003年标准发布指南-最终版本-2003年2月

全国金融标准化技术委员会秘书处对外经济贸易大学金融科技中心 2003-08-06

SWIFT标准报文 SWIFT标准报文(金融服务报文) SWIFT开发的商业标准报文已经成功应用在金融服务领域,而且根据市场的需要在不断发展中。2003版SWIFT标准扩大了应用范围,规范了具体形式,同时采用了先进的技术成果、可以满足金融服务的需要,包括批量支付、投资基金、证券、信托等方面。SWIFT标准的下一个版本将在2005年5月发布。 下面表示的是SWIFT标准2003版的发布过程:从2002年8月开始到2003年11 月正式实施。

Standards Release 2003 Schedule for Standards Release 2003 For the Standards Release 2003, the development and implementation schedule is as follows: 16 August 2002 High-Level Information on Standards Release 2003 15 November 2002 Preliminary Standards Release Guide 2003 Preliminary Message Format Validation Rules 2003 14 February 2003 Final Standards Release Guide 2003 Final Message Format Validation Rules 2003 29 March 2003 Vendor Test System 12 July 2003 Testing & Training System If necessary, updates to Message Format Validation Rules 2003 12 September 2003 UHB shipment 15 November 2003 Standards Release 2003 Live

Apple Swift编程语言入门教程

Apple Swift编程语言入门教程 2014.6.2 今天凌晨在全球开发者大会上,苹果推出了全新的操作系统以及全新的开发者编程语言Swift(雨燕)。专注Swift语言开发的@明哥选C 第一时间奉上中文版教程,各位程序猿们心动了没? 1、简介 (2) 2、Swift入门 (3) 3、简单值 (4) 4、控制流 (8) 5、函数与闭包 (15) 6、对象与类 (20) 7、枚举与结构 (30)

1、简介 今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的 iOS&OSX开发有所帮助。 Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向。 Swift已经存在了多年。Apple基于已有的编译器、调试器、框架作为其基础架构。通过ARC(Automatic Reference Counting,自动引用计数)来简化内存管理。我们的框架栈则一直基于Cocoa。Objective-C进化支持了块、collection literal和模块,允许现代语言的框架无需深入即可使用。(by gashero)感谢这些基础工作,才使得可以在Apple软件开发中引入新的编程语言。 Objective-C开发者会感到Swift的似曾相识。Swift采用了Objective-C 的命名参数和动态对象模型。提供了对Cocoa框架和mix-and-match的互操作性。基于这些基础,Swift引入了很多新功能和结合面向过程和面向对象的功能。 Swift对新的程序员也是友好的。他是工业级品质的系统编程语言,却

SWIFT报文的结构与报文类型

. . . .. . SWIFT 标准资料(十五)2003年11月实施版 SWIFT 标准 报文的结构与报文类型 2003年11月发布标准 2003年标准发布指南-最终版本-2003年2月 全国金融标准化技术委员会秘书处 对外经济贸易大学金融科技中心 2003-08-06

SWIFT标准报文 SWIFT标准报文(金融服务报文) SWIFT开发的商业标准报文已经成功应用在金融服务领域,而且根据市场的需要在不断发展中。2003版SWIFT标准扩大了应用范围,规范了具体形式,同时采用了先进的技术成果、可以满足金融服务的需要,包括批量支付、投资基金、证券、信托等方面。SWIFT标准的下一个版本将在2005年5月发布。 下面表示的是SWIFT标准2003版的发布过程:从2002年8月开始到2003年11月 正式实施。 Standards Release 2003 Schedule for Standards Release 2003 For the Standards Release 2003, the development and implementation schedule is as follows: 16 August 2002 High-Level Information on Standards Release 2003 15 November 2002 Preliminary Standards Release Guide 2003 Preliminary Message Format Validation Rules 2003 14 February 2003 Final Standards Release Guide 2003 Final Message Format Validation Rules 2003 29 March 2003 Vendor T est System 12 July 2003 Testing & Training System If necessary, updates to Message Format Validation Rules 2003 12 September 2003 UHB shipment 15 November 2003 Standards Release 2003 Live

苹果编程语言Swift中文教程

苹果编程语言Swift中文教程:Swift简介 本文来自于:https://www.360docs.net/doc/767603170.html,/news/2014/0603/353933.shtml 这篇文章简要介绍了苹果于WWDC 2014发布的编程语言——Swift。 Swift是什么? Swift是苹果于WWDC 2014发布的编程语言,这里引用The Swift Programming Language的原话: “”” Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to imagine how software development works. Swift is the first industrial-quality systems programming language that is as expressive and enjoyable as a scripting language. 简单的说: “”” Swift用来写iOS和OS X程序。(估计也不会支持其它屌丝系统) Swift吸取了C和Objective-C的优点,且更加强大易用。 Swift可以使用现有的Cocoa和Cocoa Touch框架。 Swift兼具编译语言的高性能(Performance)和脚本语言的交互性(Interactive)。 Swift语言概览 基本概念 注:这一节的代码源自The Swift Programming Language中的A Swift Tour。 Hello, world 类似于脚本语言,下面的代码即是一个完整的Swift程序。 “”” println("Hello, world") 变量与常量 Swift使用var声明变量,let声明常量。 “”” var myVariable = 42 myVariable = 50 let myConstant = 42 类型推导

相关文档
最新文档