Let's Golang - 4

donchanee·2021년 1월 26일
0

Let's Golang

목록 보기
4/6
post-thumbnail

함수의 형태는 흔하게 쓰이는 다른 언어의 함수와 같이

func A() () {
  fmt.Println("Hello!")
}

비슷하게 사용할 수 있습니다.


굉장이 어썸한 특징 2가지가 있는데,

  • defer
  • naked function
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의 함수입니다. / 형을 명시해주어야 오류가 안나는 것에도 플러스 요인입니다.

큰 프로젝트를 하다보면 형변환이 중요하다는 것!

0개의 댓글