공부 흔적남기기

Go Interface 사용법 본문

프로그래밍 언어/Go

Go Interface 사용법

65살까지 코딩 2023. 2. 20. 22:37
728x90
반응형

Go를 공부하다가 Interface를 사용하는게 신기해서 아주 간단한 예를 들어 정리하고자한다. 

먼저 신기한 이유는 인터페이스를 구현할 때 다른 언어와 달리 implemnt와 같은 명시를 안해줘도 된다. 

명시하지 않아도 내재적으로 상속한다고 보기때문이다.

코드를 보면 납득이 될 것이다.

package main

import "fmt"

type Book struct {
   title     string
   author    string
   copyRight string
}

func (b Book) String() string {
   return fmt.Sprintf("제목은 %s 작가는 %s 저작권은 %s", b.title, b.author, b.copyRight)
}

func print() {
   fmt.Println(Book{"자바의 정석", "남궁성", "도우출판"})
}

//실행결과 : 제목은 자바의 정석 작가는 남궁성 저작권은 도우출판

 

 

내부적으로 구현되어 Book 구조체가 String 함수를 사용할 때 구현체가 사용된다.

728x90
반응형

'프로그래밍 언어 > Go' 카테고리의 다른 글

blockchain with go 회고  (0) 2023.04.16
Go bufferChannel vs unBufferChannel  (0) 2023.04.05