-
[Golang] if문에 세미콜론(;) 의미언어/Golang 2017. 2. 2. 20:22
아래의 두 예제는 같은 의미입니다.
1.
if v, err := Read(); err == nil { // do something with v, because Read() did not // had an error (err) }
2.
v, err := Read() if err == nil { // do something with v }
두 문법의 결과는 같지만 차이점은 첫 번째 예제에서는 v와 err의 범위는 if {}블록으로 제한됩니다. 두 번째 예제에서는 v와err은 선언된 블록에 속해 있습니다. 즉, if {}에 속해있지 않다는 뜻입니다. {}블록에서 ;을 사용하는 것과 거의 같습니다.
if문에 ;을 사용할 땐, 선언되는 변수가 조건문 안에서만 사용된다고 확실시 될 때 사용하면 좋습니다.