Sintaks asas pantas
Dalam bab sebelumnya kita telah bercakap tentang cara mencipta program "Hello, World!" Sekarang mari kita semak semula.
Jika kita ingin mencipta OS
import Cocoa /* 我的第一个 Swift 程序 */ var myString = "Hello, World!" print(myString)
Kod di atas ialah struktur asas program Swift Seterusnya, kami akan menerangkan komponen struktur secara terperinci.
Swift ImportKita boleh menggunakan pernyataanimport
untuk memperkenalkan sebarang rangka kerja Objective-C (atau perpustakaan C) ke dalam program Swift. Contohnya, pernyataan
import kokomengimport pustaka dan API Koko, dan kami boleh menggunakannya dalam program Swift.
Koko sendiri ditulis dalam bahasa Objective-C, dan Objective-C ialah superset ketat bahasa C, jadi kita boleh mencampurkan kod bahasa C dengan mudah ke dalam aplikasi Swift , walaupun Kod C++.import UIKit var myString = "Hello, World!" print(myString)UlasanKomen Swift sangat serupa dengan ulasan satu baris bermula dengan dua garis miring ke belakang:
Hello, World!Komen berbilang baris bermula dengan /* dan berakhir dengan */:
print("test!") 标记是:单词、符号 print ( "test!" )
Apa yang berbeza daripada komen berbilang baris dalam bahasa C ialah Swift berbilang- komen baris Boleh bersarang di dalam komen berbilang baris lain. Cara untuk menulisnya ialah dengan memasukkan satu lagi komen berbilang baris di dalam blok komen berbilang baris. Apabila blok ulasan kedua ditutup, ia masih diikuti oleh blok ulasan pertama:
//这是一行注释
Bersarang komen berbilang baris membolehkan anda mengulas blok kod dengan lebih cepat dan mudah, walaupun sudah ada ulasan dalam blok kod.
Koma bertitikTidak seperti bahasa lain, Swift tidak memerlukan koma bernoktah (;) di hujung setiap baris pernyataan, tetapi apabila anda menulis berbilang pernyataan pada baris yang sama mestilah dipisahkan dengan koma bertitik:/* 这也是一条注释, 但跨越多行 */PengecamPengecam ditentukan untuk pembolehubah, pemalar, kaedah, fungsi, penghitungan, struktur, kelas, protokol, dll. nama. Huruf yang membentuk pengecam mempunyai spesifikasi tertentu Peraturan penamaan untuk pengecam dalam bahasa Swift adalah seperti berikut:
adalah sensitif huruf besar kecil dan nama saya ialah dua pengecam yang berbeza
- Watak pertama pengecam boleh bermula dengan garis bawah (_) atau huruf, tetapi tidak boleh menjadi nombor
- Aksara lain dalam pengecam; boleh menjadi garis bawah ( _), huruf atau nombor.
- Contohnya: UserName, User_Name, _sys_val, height, dll. ialah pengecam yang sah, manakala 2mail, room# dan class ialah pengecam yang tidak sah. Nota:
Kata kunci
Kata kunci ialah jujukan seperti pengecam bagi aksara simpanan yang tidak boleh digunakan sebagai pengecam melainkan ia disertakan dalam aksen (`). Kata kunci ialah pengecam terpelihara yang dipratentukan yang mempunyai makna istimewa kepada pengkompil. Kata kunci biasa termasuk 4 jenis berikut.
Kata kunci yang berkaitan dengan pengisytiharan
class | deinit | enum | extension |
func | import | init | internal |
let | operator | private | protocol |
public | static | struct | subscript |
typealias | var |
Kata kunci yang berkaitan dengan pernyataan
break | case | continue | default |
do | else | fallthrough | for |
if | in | return | switch |
where | while |
Kata kunci ungkapan dan taip
as | dynamicType | false | is |
nil | self | Self | super |
true | _COLUMN_ | _FILE_ | _FUNCTION_ |
_LINE_ |
Kata kunci yang digunakan dalam konteks tertentu
associativity | convenience | dynamic | didSet |
final | get | infix | inout |
lazy | left | mutating | none |
nonmutating | optional | override | postfix |
precedence | prefix | Protocol | required |
right | set | Type | unowned |
weak | willSet |
Ruang pantas
Bahasa Swift tidak sepenuhnya mengabaikan ruang seperti C/C++ dan Java penggunaan ruang mempunyai keperluan tertentu, tetapi tidak seketat keperluan Python untuk lekukan.
Dalam Swift, pengendali tidak boleh mengikut terus pembolehubah atau pemalar. Sebagai contoh, kod berikut akan melaporkan ralat:
/* 这是第一个多行注释的开头 /* 这是嵌套的第二个多行注释 */ 这是第一个多行注释的结尾 */
Mesej ralat ialah:
import Cocoa /* 我的第一个 Swift 程序 */ var myString = "Hello, World!"; print(myString)
Ini bermakna penggunaan tanda sama yang mendahului atau mengikutinya adalah terpelihara.
Kod berikut masih akan melaporkan ralat (terus memberi perhatian kepada ruang):
let a= 1 + 2
Mesej ralat ialah:
error: prefix/postfix '=' is reserved
Ini kerana Swift berpendapat bahawa pernyataan berakhir pada 1+ 2 ialah pernyataan seterusnya.
Hanya penulisan seperti ini tidak akan menyebabkan ralat:
let a = 1+ 2
Literal pantas
Apa yang dipanggil literal merujuk kepada nombor tertentu, rentetan atau nilai Boolean Dalam dengan cara ini, anda boleh terus menunjukkan jenis anda sendiri dan memberikan nilai kepada pembolehubah. Contohnya, di bawah:
error: consecutive statements on a line must be separated by ';'