Go 함수

MINGKYME·2021년 11월 19일
0

함수의 기본형

package main

import "fmt"

func main() {
	a := Add(1, 2)
	fmt.Println(a) // 3

	b, d := AddSub(1, 2)
	fmt.Println(b, d)// 3 -1
}
func Add(n1 int, n2 int) int {
	return n1 + n2
}

// 여러개의 반환 값을 가질 수 있다.
func AddSub(n1 int, n2 int) (int, int) {
	return n1 + n2, n1 - n2
}

일반 function

일반적인 사용방법이다.

package main

import (
	"fmt"
)

func main() {
	CountDown("A")
	CountDown("B")
}

func CountDown(name string) {
	for i := 3; i > 0; i-- {
		fmt.Println(name, i)
	}
}
// A 3
// A 2
// A 1
// B 3
// B 2
// B 1

Go routine

쉬운 방법으로 비동기 작업을 수행할 수 있다.
비동기 작업이기에 순서에 대해서 보장하지 않는다.

package main

import (
	"fmt"
	"time"
)

func main() {
	go CountDown("A")
	go CountDown("B")
	time.Sleep(5 * time.Second)
}

func CountDown(name string) {
	for i := 3; i > 0; i-- {
		fmt.Println(name, i)
		time.Sleep(1 * time.Second)

	}
}
// A 3
// B 3
// A 2
// B 2
// B 1
// A 1
profile
불편함을 해소하기 위해, 오늘도 디버깅을 합니다.

0개의 댓글