Go 언어 함수에 대하여 배워보기

오늘은 Go 언어의 함수에 대하여 작성하면서 배워보려 합니다.

기초

package main

import (
	"fmt"
)

func helloworld(){}

func main() {
	helloworld()
}

함수의 기본적인 틀은 위와 같이 작성하면 됩니다.

package main

import (
	"fmt"
)

func printValue(){
	fmt.Println(3.14)
}

func main() {
	printValue()
}

만약 내용을 넣는다면 위와같이 작성됩니다.

인자

package main

import (
	"fmt"
)
func sum(a,b int){
	fmt.Println(a + b)
}
func main() {
	sum(1,2)
}

인자를 넣을 수 있습니다.

반환 값

package main

import (
	"fmt"
)

func returnValue()float64{
	return 3.14
}

func main() {
	fmt.Println(returnValue())
}
package main

import (
	"fmt"
)
func returnSum(a,b int)int{
	return a + b
}

func main() {
	fmt.Println(returnSum(1,2))
}

함수에 return 키워드로 반환하고 싶은 값을 쓰고, 함수가 종료될 때에 값이 반환됩니다.

다중 반환

package main

import (
	"fmt"
)
func returnTwoValue(age,count int)(int,int){
	value1 := age
	value2 := count + 1 
	return value1, value2
}

func main() {
	fmt.Println(returnTwoValue(20,0))
}

함수가 종료되었을 때 반환할 값을 여러개 지정할 수 있습니다.

Named 반환 인자

go 언어에서는 Named Return Parameter 라는 기능이 있습니다.

반환할 변수를 미리 반환 타입을 기입하는 곳에 작성해줍니다.

package main

import (
	"fmt"
)
func named(a,b int)(r1 , r2 int){
	r1 = a + 1
	r2 = b + 1
	return
}

func main() {
	fmt.Println(named(1,2))
}

미리 변수를 만들어두었기 때문에 마지막에 return 키워드만 사용해주면 됩니다.

빈 식별자

package main

import (
	"fmt"
)

func returnTwoValue(age,count int)(int,int){
	value1 := age
	value2 := count + 1 
	return value1, value2
}

func main() {
	var tmp, _ = returnTwoValue(1,2)
	fmt.Println(tmp)
}

여러 변수들을 반환하기로 했던 함수에서 특정 반환값만 이용하려면 _로 해당 변수를 사용하지 않겠다고 해줍니다.

Written on September 7, 2018