Latest web development tutorials

grammatica di base Swift

Nel paragrafo precedente abbiamo già parlato di come creare il linguaggio Swift "Ciao, mondo!" Programma. Ora veniamo alla prossima revisione.

Se si sta creando la necessità di introdurre OS X parco giochi di cacao:

import Cocoa

/* 我的第一个 Swift 程序 */
var myString = "Hello, World!"

print(myString)

Se vogliamo creare un parco giochi iOS è necessario introdurre UIKit:

import UIKit
var myString = "Hello, World!"
print(myString)

Il programma precedente, l'uscita è:

Hello, World! 

Il codice di cui sopra è la struttura di base del programma Swift, quindi abbiamo descritto in dettaglio parte della struttura.


Swift ha introdotto

Possiamo usare l'istruzioneimport di introdurre qualsiasi quadro di Objective-C (o una libreria C) per il programma di Swift.Per esempio istruzioneimport cacao per importare la libreria e utilizzare l'API Cocoa, possiamo usarli nel programma Swift.

Cacao si è scritto in linguaggio Objective-C, Objective-C è un superset rigoroso del linguaggio C, in modo che possiamo usare in codice in linguaggio C miscelazione semplice Swift, o anche il codice C ++.


mark Swift

programma Swift da una varietà di gettoni, marcatori possono essere parole, identificatori, costanti, stringhe, o un simbolo. Esempio Swift, il seguente programma si compone di tre gettoni:

print("test!")
标记是:单词、符号
print
(
   "test!"
)

nota

I commenti di Swift con il linguaggio C molto simile alla linea singola commenti iniziano con due backslash:

//这是一行注释

commenti su più righe iniziano con / * a * / fine:

/* 这也是一条注释,
但跨越多行 */

commenti multi-linea e il linguaggio C è diverso, il commento Swift multi-linea possono essere nidificati all'interno di altri commenti su più righe all'interno. La formulazione è inserito in un altro commenti su più righe in una multilinea commento al blocco. Il secondo blocco commento quando è chiuso, quindi ancora dietro il primo blocco di commento:

/* 这是第一个多行注释的开头

/* 这是嵌套的第二个多行注释 */

这是第一个多行注释的结尾 */

commenti su più righe di nidificazione è che si può più rapidamente e facilmente nel blocco di commento, anche se il blocco di codice ha già un commento.


punto e virgola

A differenza di altri linguaggi sono, Swift non richiede l'uso di una virgola alla fine di ogni riga della dichiarazione (;), ma devono essere separati da una virgola nello stesso numero di righe di istruzioni scritte:

import Cocoa
/* 我的第一个 Swift 程序 */
var myString = "Hello, World!"; print(myString)

Identifiers

Identifier è quello di dare le variabili, costanti, i metodi, le funzioni, l'enumerazione, che specifica il nome della struttura, di classe, e altri protocolli. Le lettere che compongono identificatori sono alcune norme, denominazione identificatori di lingua Swift come segue:

  • Caso sensibile, Myname con mionome sono due identificatori diversi;

  • Gli identificatori primo carattere può (_) o le lettere cominciano con un trattino, ma non può essere un numero;

  • Gli identificatori possono essere altri caratteri di sottolineatura (_), lettere o numeri.

Per esempio: username, User_Name, _sys_val, altezza e altro identificativo legittimo e 2mail, stanza # identificatori illegali e di classe.

Nota: lettera Swiftutilizza la codifica Unicode [1]. Unicode è chiamato il sistema di codifica unificata, che contiene la codifica del testo asiatico, come cinese, giapponese, coreano e altri caratteri, e anche le emoticon usiamo la strumento di chat

Se è necessario utilizzare parole chiave come identificatori, è possibile aggiungere accenti attorno alle parole chiave ( `), per esempio:


Chiave

Una parola chiave è una sequenza carattere riservato simile a un identificatore, a meno che l'uso di accenti ( `) per racchiudere, o non può essere utilizzato come identificatori. Le parole chiave sono un significato speciale predefinito per l'identificatore compilatore riservato. parole chiave comuni seguenti quattro.

E le dichiarazioni relative parole chiave

classe deinit enum estensione
func importazione init interno
lasciare operatore privato protocollo
pubblico statica struct deponente
typealias var

E le dichiarazioni relative parole chiave

pausa caso continuare difetto
fare altro falltrough per
se in ritorno interruttore
dove mentre

Espressione e il tipo di parola chiave

come dynamicType falso è
zero se stesso se stesso eccellente
vero _COLUMN_ _file_ _FUNCTION_
_LINE_

Parole usate in un contesto particolare

associatività convenienza dinamico didSet
finale ottenere infisso inout
pigro sinistra mutanti nessuno
nonmutating opzionale Override postfix
precedenza prefisso protocollo richiesto
destra set tipo senza proprietario
debole willSet

spazio Swift

Swift non è un linguaggio come C / C ++, Java ignorando come del tutto gli spazi, l'uso di Swift degli spazi hanno determinati requisiti, ma a differenza di Python rientrato requisiti meno rigorosi.

Nel Swift, l'operatore non può essere seguito immediatamente una variabile o costante. Ad esempio, sarà dato il seguente codice:

let a= 1 + 2

Il messaggio di errore è il seguente:

error: prefix/postfix '=' is reserved

significava Probabilmente direttamente con il segno di uguale davanti o dietro a questo utilizzo è riservato.

viene dato il seguente codice (notare lo spazio continua):

let a = 1+ 2

Il messaggio di errore è il seguente:

error: consecutive statements on a line must be separated by ';'

Questo perché Swift 1+ credere che questa dichiarazione è stata finita, 2 è l'istruzione successiva.

Solo in questo modo non scriverà errore:

let a = 1 + 2;  // 编码规范推荐使用这种写法
let b = 3+4 // 这样也是OK的

Swift letterale

La cosiddetta letterale, si riferisce a come un numero specifico, una stringa o valore booleano questo può essere puntato direttamente al tipo proprio locale e il valore per l'assegnazione variabile. Ad esempio, nel seguente:

42                 // 整型字面量
3.14159            // 浮点型字面量
"Hello, world!"    // 字符串型字面量
true               // 布尔型字面量