Notice
Recent Posts
Recent Comments
Link
투케이2K
35. (Go Lang) [Mac Os] Go 문법 : interface 인터페이스 정의 및 메소드 재정의 결과 출력 본문
Go Lang (Go 언어)
35. (Go Lang) [Mac Os] Go 문법 : interface 인터페이스 정의 및 메소드 재정의 결과 출력
투케이2K 2024. 2. 19. 19:34[개발 환경 설정]
개발 언어 : Go
[소스 코드]
package main
import "fmt"
func main() {
// ---------------------------------------------------
// [기본 설명]
// ---------------------------------------------------
// Go에서 interface는 메서드들의 집합체입니다
// ---------------------------------------------------
// interface는 타입(type)이 구현해야 하는 메서드 원형(prototype)들을 정의합니다
// ---------------------------------------------------
// 인터페이스는 struct와 마찬가지로 type 문을 사용하여 정의합니다
// ---------------------------------------------------
// [파라미터 선언]
p := Parameter{10, 5}
// [메소드 호출]
resultCalculator(p)
}
// [interface 정의]
type Calculator interface {
plus() int
minus() int
}
// [Parameter 정의]
type Parameter struct {
num_1, num_2 int
}
// [Calculator 인터페이스 구현]
func (r Parameter) plus() int {
return r.num_1 + r.num_2
}
func (r Parameter) minus() int {
return r.num_1 - r.num_2
}
// [계산 결과 확인 함수 정의]
func resultCalculator(calc Calculator) {
fmt.Println("")
fmt.Println("----------------------------------------------")
fmt.Println("[로그 출력 수행]")
fmt.Println("----------------------------------------------")
fmt.Println("plus : ", calc.plus())
fmt.Println("----------------------------------------------")
fmt.Println("minus : ", calc.minus())
fmt.Println("----------------------------------------------")
fmt.Println("")
}
[결과 출력]
반응형
'Go Lang (Go 언어)' 카테고리의 다른 글
Comments