go언어
글 수 53
2015.07.20 23:23:58 (*.235.185.151)
5401
go언어 함수는 선언하는 모습이 특이해서 한 개 이상의 반환 값을 사용할 수 있습니다.
예를 들어 두 개의 변수 값을 전달하고 두 변수의 값을 서로 교환해서 반환하는 함수를 어떻게 작성할까요?
C언어에서는 당연히 포인터를 사용할 것입니다.
void swap( int *ptr_a, int *ptr_b){
int temp;
temp = *ptr_a;
*ptr_a = *ptr_b;
*ptr_b = temp;
}
int main( void){
int a = 3;
int b = 4;
swap( &a, &b);
printf( "%d %d\n", a, b);
}
그러나 go 언어는 매우 간단합니다. 포인터를 사용하지 않기 때문에 반드시 변수를 사용할 필요도 없지요.
package main
import "fmt"
func main(){
swap := func( x, y int)(int, int){
return y, x
}
fmt.Println( swap( 1, 2))
}
어떻습니까? 재미있지 않나요?