Programming Language Control Structures

프로그래밍에서 코드의 실행 흐름을 제어하는 핵심적인 구문이다.

Iteration Structures

특정 코드 블록을 반복적으로 실행하기 위한 구조

LanguageFor LoopWhile LoopDo-WhileFor-Each/Range
Pythonfor x in sequencewhile conditionN/Afor x in iterable
Javafor(init;condition;increment)while(condition)do {…} while(condition)for(Type x: collection)
JavaScriptfor(let i=0;i<n;i++)while(condition)do {…} while(condition)for(let x of iterable)
TypeScriptSame as JavaScript + type safetySame as JavaScriptSame as JavaScriptSame as JavaScript
Golangfor i:=0; i<n; i++for conditionN/Afor _, v:= range slice
Kotlinfor (i in range)while(condition)do {…} while(condition)for (item in collection)
Rustfor x in iterwhile conditionloop {…}for x in collection

Conditional Statements

특정 조건에 따라 다른 코드 블록을 실행하도록 하는 구조

LanguageIf-ElseSwitch/MatchTernaryPattern Matching
Pythonif/elif/elsematch (3.10+)a if cond else bLimited
Javaif/else if/elseswitchcond? a: bN/A
JavaScriptif/else if/elseswitchcond? a: bN/A
TypeScriptSame as JavaScriptSame as JavaScript + type patternsSame as JavaScriptN/A
Golangif/else if/elseswitchN/AN/A
Kotlinif/else if/elsewhenif(cond) a else bwhen expressions
Rustif/else if/elsematchN/AFull pattern matching

Exception Handling

프로그램 실행 중 발생할 수 있는 오류 상황을 관리하는 메커니즘

LanguageTry-CatchFinallyCustom ExceptionsError Types
Pythontry/exceptfinallyClass inheritanceException hierarchy
Javatry/catchfinallyClass inheritanceChecked/Unchecked
JavaScripttry/catchfinallyClass inheritanceError object
TypeScriptSame as JavaScriptSame as JavaScriptSame as JavaScript + typesSame as JavaScript
GolangN/A (uses error returns)deferCustom error typesError interface
Kotlintry/catchfinallyClass inheritanceException hierarchy
RustResult<T,E>N/ACustom error typesResult/Option types

참고 및 출처