go언어
글 수 53
2015.03.18 12:36:42 (*.134.169.166)
8516
새로운 언어를 학습하다보면 이전에 사용하던 언어와 비교하게됩니다.
아무래도 사용하던 언어에 익숙하기 때문이죠.
C언어를 주력으로 사용하다 보니 새로운 go언어를 학습하면서도
C언어와 비교하고 어뚱하게 C언어에 더욱 집찹하게 됩니다.
비교되는 내용 중 하나가 switch 문입니다.
if 보다는 문 대신에 switch 문을 사용하는데
switch문은 실행 속도를 높이기 위함인지 비교 대상이 상수이죠.
그래서 어쩔 수 없이 if 문을 사용하게 됩니다만,
go언어는 상수 외에도 비교 대상을 if 문처럼 다양하게 지정할 수 있습니다.
예를 들어 함수까지 사용할 수 있지요.
func comp( x int ) int{
return x / 2;
}
func main(){
i := 2;
switch i {
case comp(1):
fmt.Println( "1")
case comp(2):
fmt.Println( "2")
case comp(3):
fmt.Println( "3")
case comp(4):
fmt.Println( "4")
case comp(5):
fmt.Println( "5")
}
}
어떻습니까? go언어 재미있죠? ^^