백엔드/Go := Golang(3)
-
[ Golang ] 인터페이스와 제네릭
인터페이스인터페이스는 Go에서 메서드 집합을 정의한 것으로, 해당 메서드를 구현한 모든 타입과 호환될 수 있다.인터페이스의 구현type TestInterface interface { save(string) // 리턴타입이 없는 경우 get() // 리턴타입, 파라미터 모두 있는 경우 put() // 리턴타입, 파라미터 모두 없는 경우 } Go 인터페이스는 Go에서 객체지향을 구현하는 방법으로, 인터페이스를 embed 해 사용한다.다양한 타입이 같은 인터페이스를 구현함으로써, 해당 인터페이스를 매개변수로 받는 함수는 여러 타입과 호환될 수 있다 GenericGo 1.18에서 도입된 제네릭은 여러 타입에서 동작할 수 있는 일반화된 함수와 데이터 구조를 작성하는 방법이다.package mainimpor..
2024.09.11 -
[ 모듈 시스템 ] go는 export 가 없습니다
// /pkg/utils/file1.gopackage utilsimport "fmt"func PublicFunction() { fmt.Println("첫번째 함수")}결론결론부터 말하면 Go 언어는 다른 언어들과 달리 export 키워드가 존재하지 않는다. 즉, 다른 패키지에서 사용할 수 있는 함수나 변수를 지정하는 별도의 키워드 없이, 대소문자만으로 공개 여부를 결정한다. 설명Go에서는 모든 코드가 패키지 단위로 관리되며, 패키지 간 의존성은 모듈 시스템을 통해 관리된다. 패키지는 독립적으로 존재하지만, 필요에 따라 다른 패키지의 요소를 사용할 수 있다. Go의 중요한 점은 대소문자 규칙을 통해 접근 가능 여부를 결정한다는 것이다. 첫 글자가 대문자인 식별자는 패키지 외부에서 접근할 수 있는 공개..
2024.09.10 -
[ Golang ] 배열 값 이해
Go는 기본적으로 참조가 아닌 값으로 동작하고, 배열에서도 마찬가지이다. 즉, 새 변수에 배열을 할당하면 배열을 복사하고 배열에 포함한 값을 복사한다.Go works with values rather than references by default, and this is also true for arrays. That is, when you assign an array to a new variable, it copies the array and the values it contains. 배열의 참조를 생성하기 위해서는 포인터를 사용할 수 있다.To create a reference to an array, you can use pointers.package mainimport "fmt"func main()..
2024.06.14