함수의 형태는 흔하게 쓰이는 다른 언어의 함수와 같이
func A() () {
fmt.Println("Hello!")
}
비슷하게 사용할 수 있습니다.
굉장이 어썸한 특징 2가지가 있는데,
package main
import "fmt"
func multi(a, b int) (result int, minus bool) {
defer fmt.Println("multi func finished")
// 이미지를 함수가 끝나고 닫던지, 다른 작업이 가능하다. Amazing!
result = a * b
if result < 0 {
minus = true
} else {
minus = false
}
return
}
func main() {
fmt.Println(multi(4, 5))
}
defer 부분을 보면
defer fmt.Println("multi func finished")
이 코드가 하는 일은 함수가 끝났을 때 실행되는 코드입니다.
간단하지만 굉장히 효율성이 높을 것 같은 너무 좋은? 기능입니다.
또한 2개 이상의 값을 리턴할 수 있기 때문에, 파이썬에서 리스트로 반환하는 등의 일을 안해도 되니 편할 것 같습니다.
아주 좋은 기능을 가진 GO의 함수입니다. / 형을 명시해주어야 오류가 안나는 것에도 플러스 요인입니다.
큰 프로젝트를 하다보면 형변환이 중요하다는 것!