Latest web development tutorials

tata bahasa dasar Swift

Pada bagian sebelumnya kita telah berbicara tentang cara membuat bahasa Swift "Hello, World!" Program. Sekarang kita sampai pada review berikutnya.

Jika Anda membuat kebutuhan untuk memperkenalkan OS X bermain Cocoa:

import Cocoa

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

print(myString)

Jika kita ingin membuat iOS bermain Anda perlu untuk memperkenalkan UIKit:

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

Program di atas, output adalah:

Hello, World! 

Kode di atas adalah struktur dasar dari program Swift, maka kita dijelaskan secara rinci bagian dari struktur.


Swift memperkenalkan

Kita bisa menggunakan pernyataanimpor untuk memperkenalkan kerangka dari Objective-C (atau C library) untuk program Swift.Misalnya pernyataanimpor kakao untuk mengimpor perpustakaan dan menggunakan Cocoa API, kita dapat menggunakannya dalam program Swift.

Kakao sendiri ditulis dalam bahasa Objective-C, Objective-C adalah superset ketat dari bahasa C, sehingga kita dapat menggunakan di mixing C kode bahasa sederhana Swift, atau bahkan C ++ kode.


mark Swift

Program Swift dari berbagai token, spidol dapat kata-kata, pengidentifikasi, konstanta, string, atau simbol. Misalnya Swift, program berikut terdiri dari tiga token:

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

catatan

komentar Swift dengan bahasa C sangat mirip dengan single-line comments dimulai dengan dua garis miring terbalik:

//这是一行注释

Multi-line komentar dimulai dengan / * untuk * / end:

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

komentar Multi-line dan bahasa C yang berbeda, multi-baris komentar Swift dapat bersarang dalam komentar multi-baris lain di dalam. Kata dimasukkan ke lain komentar multi-baris dalam blok multiline komentar. Kedua blok komentar ketika ditutup, maka masih di belakang blok komentar pertama:

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

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

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

Multi-line komentar bersarang adalah bahwa Anda bisa lebih cepat dan mudah di blok komentar, bahkan jika blok kode yang sudah memiliki komentar.


titik koma

Tidak seperti bahasa lainnya, Swift tidak memerlukan penggunaan titik koma pada akhir setiap baris pernyataan (;), tetapi Anda harus dipisahkan dengan titik koma dalam jumlah yang sama dari baris pernyataan tertulis:

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

identifier

Identifier adalah untuk memberikan variabel, konstanta, metode, fungsi, pencacahan, yang menentukan nama struktur, kelas, dan protokol lainnya. Surat merupakan pengidentifikasi yang norma-norma tertentu, penamaan pengidentifikasi bahasa Swift sebagai berikut:

  • Kasus sensitif, Myname dengan myname dua identifier yang berbeda;

  • Pengenal karakter pertama dapat (_) atau huruf dimulai dengan garis bawah, tetapi tidak dapat berupa angka;

  • Pengidentifikasi mungkin karakter lain garis bawah (_), huruf atau angka.

Sebagai contoh: username, USER_NAME, _sys_val, tinggi dan pengenal yang sah lainnya dan 2mail, kamar # pengidentifikasi ilegal dan kelas.

Catatan: Surat Swiftmenggunakan Unicode encoding [1]. Unicode disebut sistem terpadu coding, yang berisi pengkodean teks Asia, seperti Cina, Jepang, Korea dan karakter lain, dan bahkan emoticon kita menggunakan alat chatting

Jika Anda harus menggunakan kata kunci sebagai pengidentifikasi, Anda dapat menambahkan aksen di sekitar kata kunci ( `), misalnya:


Kata kunci

Kata kunci adalah urutan karakter pendiam yang mirip dengan identifier, kecuali penggunaan aksen ( `) untuk menyertakan, atau tidak dapat digunakan sebagai pengidentifikasi. Kata kunci adalah makna khusus yang telah ditetapkan untuk compiler milik identifier. kata kunci umum berikut empat.

Dan laporan terkait kata kunci

kelas deinit enum perpanjangan
func impor init intern
membiarkan operator pribadi protokol
publik statis struct tanda tangan
typealias var

Dan laporan terkait kata kunci

istirahat kasus terus kegagalan
melakukan lain fallthrough untuk
jika di kembali saklar
dimana sementara

Ekspresi dan jenis kata kunci

sebagai dynamicType palsu adalah
nol diri diri super
benar _COLUMN_ _FILE_ _FUNCTION_
_LINE_

Kata kunci yang digunakan dalam konteks tertentu

associativity kenyamanan dinamis didSet
terakhir mendapatkan infiks inout
malas kiri bermutasi tak satupun
nonmutating opsional mengesampingkan postfix
didahulukan awalan protokol wajib
benar set jenis unowned
lemah willSet

ruang Swift

Swift bukan bahasa seperti C / C ++, Java sebagai benar-benar mengabaikan ruang, penggunaan Swift dari ruang memiliki persyaratan tertentu, tapi tidak seperti Python menjorok persyaratan kurang ketat.

Dalam Swift, operator tidak dapat diikuti segera di variabel atau konstan. Misalnya, kode berikut akan diberikan:

let a= 1 + 2

Pesan kesalahan adalah:

error: prefix/postfix '=' is reserved

Mungkin berarti langsung dengan tanda sama di depan atau di belakang penggunaan ini dicadangkan.

Kode berikut ini diberikan (perhatikan ruang melanjutkan):

let a = 1+ 2

Pesan kesalahan adalah:

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

Hal ini karena Swift 1+ percaya pernyataan ini lebih, 2 adalah pernyataan berikutnya.

Hanya dengan cara ini tidak akan menulis kesalahan:

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

Swift literal

Yang disebut-literal, mengacu sebagai nomor tertentu, string, atau nilai Boolean ini dapat menunjuk langsung dengan jenis sendiri lokal dan nilai untuk variabel tugas. Misalnya, sebagai berikut:

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