遍匈 / Swift / Swift縮殻 /

Swift児云塰麻憲峋盾

<貧匯准 和匯准>
塰麻憲頁殊臥?個延?栽旺峙議蒙歩憲催賜玉囂。箭泌?紗催+繍曾倖方屢紗?泌let i = 1 + 2?。鹸墫乂議塰佩麻箭泌貸辞嚥塰麻憲&&?泌if enteredDoorCode && passedRetinaScan??嗽賜斑 i 峙紗1議宴楯塰麻憲徭奐塰麻憲++i吉。

Swift 屶隔寄何蛍炎彈 C 囂冱議塰麻憲?拝個序俯謹蒙來栖受富械号園鷹危列。泌?験峙憲?=?音卦指峙?參契峭委?勣登僅屢吉塰麻憲?==?議仇圭亟撹験峙憲擬崑議危列。方峙塰麻憲?+?-?*?/?%吉?氏殊霞旺音塋俯峙吝竃?參緩栖閲窒隠贋延楚扮喇噐延楚寄噐賜弌噐凪窃侏侭嬬覚墮議袈律扮擬崑議呟械潤惚。輝隼塋俯低聞喘 Swift 議吝竃塰麻憲栖糞孖吝竃。峋秤歌需吝竃塰麻憲

曝艶噐 C 囂冱?壓 Swift 嶄低辛參斤検泣方序佩函噫塰麻?%??Swift 珊戻工阻 C 囂冱短嗤議燕器曾方岻寂議峙議曝寂塰麻憲??a..b才a...b??宸圭宴厘断燕器匯倖曝寂坪議方峙。

云嫗准峪宙峰阻 Swift 嶄議児云塰麻憲?互雫塰麻憲淫根阻互雫塰麻憲?式泌採徭協吶塰麻憲?式泌採序佩徭協吶窃侏議塰麻憲嶷墮。

宝囂

塰麻憲嗤匯圷?屈圷才眉圷塰麻憲。
  • 匯圷塰麻憲斤汽匯荷恬斤嵆荷恬?泌-a?。匯圷塰麻憲蛍念崔憲才朔崔塰麻憲?念崔塰麻憲俶諸電荷恬斤嵆岻念?泌!b??朔崔塰麻憲俶諸効荷恬斤嵆岻朔?泌i++?。
  • 屈圷塰麻憲荷恬曾倖荷恬斤嵆?泌2 + 3??頁嶄崔議?咀葎万断竃孖壓曾倖荷恬斤嵆岻寂。
  • 眉圷塰麻憲荷恬眉倖荷恬斤嵆?才 C 囂冱匯劔?Swift 峪嗤匯倖眉圷塰麻憲?祥頁眉圷訳周塰麻憲?a ? b : c?。

鞭塰麻憲唹峒議峙出荷恬方?壓燕器塀1 + 2嶄?紗催+頁屈圷塰麻憲?万議曾倖荷恬方頁峙1才2。

験峙塰麻憲

験峙塰麻?a = b??燕幣喘b議峙栖兜兵晒賜厚仟a議峙?
let b = 10
var a = 5
a = b
// a 孖壓吉噐 10
泌惚験峙議嘔円頁匯倖謹圷怏?万議圷殆辛參瀧貧瓜蛍盾謹倖延楚賜延楚?
let (x, y) = (1, 2) // 孖壓 x 吉噐 1, y 吉噐 2 
嚥 C 囂冱才 Objective-C 音揖?Swift 議験峙荷恬旺音卦指販採峙。侭參參和旗鷹頁危列議?
if x = y {
 // 緩鞘危列, 咀葎 x = y 旺音卦指販採峙
}
宸倖蒙來聞誼低涙隈委?==?危亟撹?=?阻?喇噐if x = y頁危列旗鷹?Swift 貫久蚊逸低閲窒阻宸乂旗鷹危列。

方峙塰麻

Swift 斑侭嗤方峙窃侏脅屶隔阻児云議膨夸塰麻?
  • 紗隈?+?
  • 受隈?-?
  • 核隈?*?
  • 茅隈?/?
1 + 2 // 吉噐 3
5 - 3 // 吉噐 2
2 * 3 // 吉噐 6
10.0 / 2.5 // 吉噐 4.0
嚥 C 囂冱才 Objective-C 音揖議頁?Swift 潮範音塋俯壓方峙塰麻嶄竃孖吝竃秤趨。徽低辛參聞喘 Swift 議吝竃塰麻憲栖器欺低嗤朕議議吝竃?泌a &+ b?。峋秤歌需吝竃塰麻憲

紗隈塰麻憲匆喘噐String議憧俊?
"hello, " + "world" // 吉噐 "hello, world"
曾倖Character峙賜匯倖String才匯倖Character峙?屢紗氏伏撹匯倖仟議String峙?
let dog: Character = "d"
let cow: Character = "c"
let dogCow = dog + cow
// 咎宀廣: 圻栖議哈催坪頁載辛握議弌昂才弌釘, 徽win os和音屶隔燕秤忖憲, 侭參個撹阻噸宥忖憲
// dogCow 孖壓頁 "dc"
峋秤歌需忖憲?忖憲堪議憧俊

箔噫塰麻

箔噫塰麻?a % b?頁柴麻b議謹富蔚胡胡挫辛參否秘a?卦指謹竃栖議椎何蛍?噫方?。
廣吭?箔噫塰麻?%?壓凪麿囂冱匆出函庁塰麻。隼遇冢鯉傍栖?厘断心乎塰麻憲斤減方議荷恬潤惚?"箔噫"曳"函庁"厚栽癖乂。
厘断栖霧霧函噫頁奕担指並?柴麻9 % 4?低枠柴麻竃4議謹富蔚氏胡挫辛參否秘9嶄?
Art/remainderInteger_2x.png
2蔚?掲械挫?椎噫方頁1?喘拡弼炎竃?

壓 Swift 嶄宸担栖燕器?
9 % 4 // 吉噐 1
葎阻誼欺a % b議潤惚?%柴麻阻參和吉塀?旺補竃噫方恬葎潤惚?
a = (b × 蔚方) + 噫方
輝蔚方函恷寄峙議扮昨?祥氏胡挫辛參否秘a嶄。

委9才4旗秘吉塀嶄?厘断誼1?
9 = (4 × 2) + 1
揖劔議圭隈?厘栖断柴麻 -9 % 4?
-9 % 4 // 吉噐 -1
委-9才4旗秘吉塀?-2頁函欺議恷寄屁方?
-9 = (4 × -2) + -1
噫方頁-1。

壓斤減方b箔噫扮?b議憲催氏瓜策待。宸吭龍彭 a % b 才 a % -b議潤惚頁屢揖議。

検泣方箔噫柴麻

音揖噐 C 囂冱才 Objective-C?Swift 嶄頁辛參斤検泣方序佩箔噫議。
8 % 2.5 // 吉噐 0.5
宸倖箭徨嶄?8茅噐2.5吉噐3噫0.5?侭參潤惚頁匯倖Double峙0.5。
Art/remainderFloat_2x.png

徭奐才徭奐塰麻

才 C 囂冱匯劔?Swift 匆戻工阻圭宴斤延楚云附紗1賜受1議徭奐?++?才徭受?--?議塰麻憲。凪荷恬斤嵆辛參頁屁侘才検泣侏。 ‌
var i = 0
++i // 孖壓 i = 1
耽距喘匯肝++i?i議峙祥氏紗1。糞縞貧?++i頁i = i + 1議酒亟?遇--i頁i = i - 1議酒亟。

++才--屡頁念崔嗽頁朔崔塰麻。++i?i++?--i才i--脅頁嗤丼議亟隈。

厘断俶勣廣吭議頁宸乂塰麻憲俐個阻i朔嗤匯倖卦指峙。泌惚低峪?俐個i議峙?椎低祥辛參策待宸倖卦指峙。徽泌惚低?聞喘卦指峙?低祥俶勣藻吭念崔才朔崔荷恬議卦指峙頁音揖議。
  • 輝++念崔議扮昨?枠徭??壅卦指。
  • 輝++朔崔議扮昨?枠卦指壅徭奐。

箭泌?
var a = 0
let b = ++a // a 才 b 孖壓脅頁 1
let c = a++ // a 孖壓 2, 徽 c 頁 a 徭奐念議峙 1
貧峰箭徨?let b = ++a枠委a紗1阻壅卦指a議峙。侭參a才b脅頁仟峙1。

遇let c = a++?頁枠卦指阻a議峙?隼朔a嘉紗1。侭參c誼欺阻a議症峙1?遇a紗1朔延撹2。

茅掲低俶勣聞喘i++議蒙來?音隼容呪低聞喘++i才--i?咀葎枠俐個朔卦指宸劔議佩葎厚憲栽厘断議貸辞。

匯圷減催

方峙議屎減催辛參聞喘念弸-?軸匯圷減催?栖俳算?
let three = 3
let minusThree = -three // minusThree 吉噐 -3
let plusThree = -minusThree // plusThree 吉噐 3, 賜 "減減3"
匯圷減催?-?亟壓荷恬方岻念?嶄寂短嗤腎鯉。

匯圷屎催

匯圷屎催?+?音恂販採個延仇卦指荷恬方議峙。
let minusSix = -6
let alsoMinusSix = +minusSix // alsoMinusSix 吉噐 -6
埋隼匯圷+恂涙喘孔?徽輝低壓聞喘匯圷減催栖燕器減方扮?低辛參聞喘匯圷屎催栖燕器屎方?泌緩低議旗鷹氏醤嗤斤各胆。

鹸栽験峙?Compound Assignment Operators?

泌揖膿寄議 C 囂冱?Swift 匆戻工委凪麿塰麻憲才験峙塰麻?=?怏栽議鹸栽験峙塰麻憲?紗験塰麻?+=?頁凪嶄匯倖箭徨?
var a = 1
a += 2 // a 孖壓頁 3
燕器塀a += 2頁a = a + 2議酒亟?匯倖紗験塰麻祥委紗隈才験峙曾周並頼撹阻。
廣吭?鹸栽験峙塰麻短嗤卦指峙?let b = a += 2宸窃旗鷹頁危列。宸音揖噐貧中戻欺議徭奐才徭受塰麻憲。
燕器塀嫗准戦嗤鹸栽塰麻憲議頼屁双燕。 ‌

曳熟塰麻

侭嗤炎彈 C 囂冱嶄議曳熟塰麻脅辛參壓 Swift 嶄聞喘。
  • 吉噐?a == b?
  • 音吉噐?a?= b?
  • 寄噐?a > b?
  • 弌噐?a < b?
  • 寄噐吉噐?a >= b?
  • 弌噐吉噐?a <= b?
廣吭?Swift 匆戻工冴吉===才音冴吉!==宸曾倖曳熟憲栖登僅曾倖斤嵆頁倦哈喘揖匯倖斤嵆糞箭。厚謹聾准壓窃嚥潤更
耽倖曳熟塰麻脅卦指阻匯倖炎紛燕器塀頁倦撹羨議下櫛峙?
1 == 1 // true, 咀葎 1 吉噐 1
2 != 1 // true, 咀葎 2 音吉噐 1
2 > 1 // true, 咀葎 2 寄噐 1
1 < 2 // true, 咀葎 1 弌噐2
1 >= 1 // true, 咀葎 1 寄噐吉噐 1
2 <= 1 // false, 咀葎 2 旺音弌噐吉噐 1
曳熟塰麻謹喘噐訳周囂鞘?泌if訳周?
let name = "world"
if name == "world" {
 println("hello, world")
} else {
 println("I'm sorry \(name), but I don't recognize you")
}
// 補竃 "hello, world", 咀葎 `name` 祥頁吉噐 "world"
購噐if囂鞘?萩心陣崙送

眉圷訳周塰麻(Ternary Conditional Operator)

眉圷訳周塰麻議蒙歩壓噐万頁嗤眉倖荷恬方議塰麻憲?万議圻侏頁諒籾?基宛1?基宛2。万酒準仇燕器功象諒籾撹羨嚥倦恬竃屈僉匯議荷恬。泌惚諒籾撹羨?卦指基宛1議潤惚; 泌惚音撹羨?卦指基宛2議潤惚。
聞喘眉圷訳周塰麻酒晒阻參和旗鷹?
if question: {
 answer1
}
else {
 answer2
}
宸戦嗤倖柴麻燕鯉佩互議箭徨。泌惚嗤燕遊?椎佩互哘曳坪否互業勣互竃50崧殆; 泌惚短嗤燕遊?峪俶互竃20崧殆。
let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight 孖壓頁 90
宸劔亟氏曳和中議旗鷹酒準?
let contentHeight = 40
let hasHeader = true
var rowHeight = contentHeight
if hasHeader {
 rowHeight = rowHeight + 50
} else {
 rowHeight = rowHeight + 20
}
// rowHeight 孖壓頁 90
及匯粁旗鷹箭徨聞喘阻眉圷訳周塰麻?侭參匯佩旗鷹祥嬬斑厘断誼欺屎鳩基宛。宸曳及屈粁旗鷹酒準誼謹?涙俶繍rowHeight協吶撹延楚?咀葎万議峙涙俶壓if囂鞘嶄個延。
眉圷訳周塰麻戻工嗤丼楕拝宴楯議圭塀栖燕器屈僉匯議僉夲。俶勣廣吭議並?狛業聞喘眉圷訳周塰麻祥氏喇酒準議旗鷹延撹佃峡議旗鷹。厘断哘閲窒壓匯倖怏栽囂鞘聞喘謹倖眉圷訳周塰麻憲。

曝寂塰麻憲

Swift 戻工阻曾倖圭宴燕器匯倖曝寂議峙議塰麻憲。

液曝寂塰麻憲

液曝寂塰麻憲?a...b?協吶匯倖淫根貫a欺b(淫凄a才b)議侭嗤峙議曝寂。 ‌ 液曝寂塰麻憲壓亨旗匯倖曝寂議侭嗤峙扮頁掲械嗤喘議?泌壓for-in儉桟嶄?
for index in 1...5 {
 println("\(index) * 5 = \(index * 5)")
}
// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25
購噐for-in?萩心陣崙送

磯液曝寂

磯液曝寂?a..b?協吶匯倖貫a欺b徽音淫凄b議曝寂。 岻侭參各葎磯液曝寂?頁咀葎乎曝寂淫根及匯倖峙遇音淫凄恷朔議峙。

磯液曝寂議糞喘來壓噐輝低聞喘匯倖0兵議双燕(泌方怏)扮?掲械圭宴仇貫0方欺双燕議海業。
let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..count {
 println("及 \(i + 1) 倖繁出 \(names[i])")
}
// 及 1 倖繁出 Anna
// 及 2 倖繁出 Alex
// 及 3 倖繁出 Brian
// 及 4 倖繁出 Jack
方怏嗤4倖圷殆?徽0..count峪方欺3(恷朔匯倖圷殆議和炎)?咀葎万頁磯液曝寂。購噐方怏?萩臥堋方怏

貸辞塰麻

貸辞塰麻議荷恬斤嵆頁貸辞下櫛峙。Swift 屶隔児噐 C 囂冱議眉倖炎彈貸辞塰麻。
  • 貸辞掲?!a?
  • 貸辞嚥?a && b?
  • 貸辞賜?a || b?

貸辞掲

貸辞掲塰麻?!a?斤匯倖下櫛峙函郡?聞誼true延false?false延true。

万頁匯倖念崔塰麻憲?俶竃孖壓荷恬方岻念?拝音紗腎鯉。響恬掲 a?隼朔厘断心參和箭徨?
let allowedEntry = false
if !allowedEntry {
 println("ACCESS DENIED")
}
// 補竃 "ACCESS DENIED"
if?allowedEntry囂鞘辛參響恬 "泌惚 掲 alowed entry。"?俊和匯佩旗鷹峪嗤壓泌惚 "掲 allow entry" 葎true?軸allowEntry葎false扮瓜峇佩。

壓幣箭旗鷹嶄?弌伉仇僉夲下櫛械楚賜延楚嗤廁噐旗鷹議辛響來?旺拝閲窒聞喘褒嶷貸辞掲塰麻?賜詞岱議貸辞囂鞘。

貸辞嚥

貸辞嚥?a && b?燕器阻峪嗤a才b議峙脅葎true扮?屁倖燕器塀議峙嘉氏頁true。

峪勣販吭匯倖峙葎false?屁倖燕器塀議峙祥葎false。並糞貧?泌惚及匯倖峙葎false?椎担頁音肇柴麻及屈倖峙議?咀葎万厮将音辛嬬唹峒屁倖燕器塀議潤惚阻。宸瓜各恂 "玉揃柴麻?short-circuit evaluation?"。

參和箭徨?峪嗤曾倖Bool峙脅葎true峙議扮昨嘉塋俯序秘?
let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan {
 println("Welcome!")
} else {
 println("ACCESS DENIED")
}
// 補竃 "ACCESS DENIED"

貸辞賜

貸辞賜?a || b?頁匯倖喇曾倖銭偬議|怏撹議嶄崔塰麻憲。万燕幣阻曾倖貸辞燕器塀議凪嶄匯倖葎true?屁倖燕器塀祥葎true。

揖貸辞嚥塰麻窃貌?貸辞賜匆頁"玉揃柴麻"議?輝恣極議燕器塀葎true扮?繍音柴麻嘔円議燕器塀阻?咀葎万音辛嬬個延屁倖燕器塀議峙阻。

參和幣箭旗鷹嶄?及匯倖下櫛峙?hasDoorKey?葎false?徽及屈倖峙?knowsOverridePassword?葎true?侭參屁倖燕器頁true?噐頁塋俯序秘?
let hasDoorKey = false
let knowsOverridePassword = true
if hasDoorKey || knowsOverridePassword {
 println("Welcome!")
} else {
 println("ACCESS DENIED")
}
// 補竃 "Welcome!"

怏栽貸辞

厘断辛參怏栽謹倖貸辞塰麻栖燕器匯倖鹸栽貸辞?
if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword {
 println("Welcome!")
} else {
 println("ACCESS DENIED")
}
// 補竃 "Welcome!"
宸倖箭徨聞喘阻根謹倖&&才||議鹸栽貸辞。徽涙胎奕劔?&&才||兵嶮峪嬬荷恬曾倖峙。侭參宸糞縞頁眉倖酒汽貸辞銭偬荷恬議潤惚。厘断栖盾響匯和?

泌惚厘断補秘阻屎鳩議畜鷹旺宥狛阻篇利弔膝宙; 賜宀厘断嗤匯委嗤丼議埒革; 嗽賜宀厘断岑祇諸識秤趨和嶷崔議畜鷹?厘断祥嬬委壇嬉蝕序秘。

念曾嶽秤趨?厘断脅音諾怎?侭參念曾倖酒汽貸辞議潤惚頁false?徽頁厘断頁岑祇諸識秤趨和嶷崔議畜鷹議?侭參屁倖鹸墫燕器塀議峙珊頁true。

聞喘凄催栖苧鳩單枠雫

葎阻匯倖鹸墫燕器塀厚否叟響峡?壓栽癖議仇圭聞喘凄催栖苧鳩單枠雫頁載嗤丼議?埋隼万旺掲駅勣議。壓貧倖購噐壇議幡尫議箭徨嶄?厘断公及匯倖何蛍紗倖凄催?聞喘万心軟栖貸辞厚苧鳩?
if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword {
 println("Welcome!")
} else {
 println("ACCESS DENIED")
}
// 補竃 "Welcome!"
宸凄催聞誼念曾倖峙瓜心撹屁倖貸辞燕器嶄鏡羨議匯倖何蛍。埋隼嗤凄催才短凄催議補竃潤惚頁匯劔議?徽斤噐響旗鷹議繁栖傍嗤凄催議旗鷹厚賠漣。辛響來曳酒準來厚嶷勣?萩壓辛參斑低旗鷹延賠漣仇仇圭紗倖凄催杏?
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /