본문 바로가기

프로그래밍/Golang28

Golang Interface - 포인터와 값 타입의 개념 및 활용 Go 언어에서의 값 타입과 포인터 타입 소개Go 언어는 정적 타입 언어로, 값 타입(Value Types)과 포인터 타입(Pointer Types)을 모두 지원합니다. 값 타입 (Value Types)값 타입은 변수가 직접 값을 저장하는 방식입니다. Go에서 기본적인 값 타입들은 다음과 같습니다:정수형: int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64부동소수점: float32, float64복소수: complex64, complex128불리언: bool문자열: string배열구조체 (struct)값 타입의 변수를 다른 변수에 할당하면, 값의 복사가 일어납니다.x := 5y := x // y에 x의 값이 복사됨x = 10 // x.. 2024. 7. 24.
Golang의 struct(구조체)와 receiver(리시버) 메서드: 객체 지향적 설계의 새로운 접근 Go 언어는 객체 지향 프로그래밍의 개념을 독특한 방식으로 구현합니다. 클래스 대신 구조체를 사용하고, 메서드를 통해 행동을 정의합니다.struct 와 receiver method1. 구조체 (Struct) Go에는 클래스가 없지만 구조체가 있습니다.구조체는 관련된 데이터를 그룹화하는 사용자 정의 타입입니다.type Person struct { Name string Age int} 2. 메서드 (Method) 메서드는 함수와 비슷하지만, 리시버(receiver)라고 불리는 특정 타입이나 객체에 바인딩됩니다.func (p Person) SayHello() { fmt.Printf("Hello, I'm %s\n", p.Name)}여기서 `(p Person)`이 리시버입니다. 이 메서드는 `P.. 2024. 7. 23.
Golang func 와 method Go 프로그래밍 언어에서 함수와 메서드는 코드 구조화와 재사용성을 위한 핵심 요소입니다. 이 두 가지 개념은 비슷해 보이지만 중요한 차이점이 있습니다.함수 (Functions)함수는 특정 작업을 수행하는 독립적인 코드 블록입니다.func 키워드로 정의합니다.func String() { // ... some code}이름, 매개변수 목록, 반환 타입을 가집니다.// 이름, 매개변수 목록, 반환 타입을 가집니다.func Add(a, b int) int { return a + b}여러 값을 반환할 수 있습니다.// 여러 값을 반환할 수 있습니다.func Swap(a, b int) (int, int) { return b, a}독립적으로 호출됩니다.메서드 (Methods)메서드는 특정 타입과 연관된 함수입니다.함.. 2024. 7. 22.
Golang type(타입) 키워드 탐구 : Named Type과 Type Alias의 차이와 활용 type 키워드는 새로운 타입을 정의하는 데 사용되는 중요한 키워드입니다.기본 타입 정의type 키워드를 사용하여 기존 타입을 기반으로 새로운 타입을 정의할 수 있습니다.type MyInt inttype MyString string 이렇게 정의된 타입은 원래 타입과 구조적으로 동일하지만, Go 컴파일러는 이를 다른 타입으로 취급합니다. 구조체 정의type을 사용하여 구조체를 정의할 수 있습니다.type Person struct { Name string Age int} 인터페이스 정의인터페이스도 type 키워드로 정의합니다.type Printer interface { Print() string} 함수 타입 정의함수 시그니처를 새로운 타입으로 정의할 수 있습니다.type MathFunc f.. 2024. 7. 21.
Golang Constants(상수) 상수란?상수는 프로그램 실행 중 변경되지 않는 고정된 값을 나타냅니다. 상수 정의Golang에서 상수는 const 키워드를 사용하여 정의합니다.const Pi = 3.14159const MaxUsers = 100const Greeting = "Hello, World!" 여러 상수를 그룹으로 정의할 수도 있습니다const ( StatusOK = 200 StatusNotFound = 404 StatusInternalServerError = 500)타입이 있는 상수와 없는 상수1. 타입이 없는 상수const MaxValue = 100 2. 타입이 있는 상수const MaxValue int = 10 타입이 없는 상수는 더 유연하게 사용할 수 있으며, 필요에 따라 암시적으로 타입 변환이 가능합니다.. 2024. 7. 20.
Golang 변수와 Scope(스코프) 이해하기 변수선언var 키워드 사용Golang에서는 var 키워드를 사용합니다.`var {변수_이름} 타입` 의 형태를 따릅니다.var name stringvar age intvar isStudent bool short variable declarationGolang에서 타입추론이 가능합니다.`:=`구문은 암묵적으로 타입 할당문을 사용할 수 있습니다.`:=`구문은 함수 내에서만 사용할 수 있습니다. 패키지 레벨에서는 사용할 수 없습니다.함수 내부에서 암묵적 유형의 선언 :=대신 짧은 할당 문을 사용할 수 있습니다.name := "Gopher"age := 25isStudent := true패키지 레벨 선언의 제한사항명확성과 일관성Go는 코드의 명확성과 일관성을 매우 중요하게 여깁니다. := 연산자는 변수의 선언과 .. 2024. 7. 19.