지금까지 언어를 배우면서 메서드와 함수를 거의 혼용하여 사용하고 있었습니다. Go를 배우며 함수와 메서드의 차이에 대하여 확실하게 잡게 되어 다행이라고 생각합니다. Go에서는 메서드를 어떻게 선언하는지 알아보겠습니다. 목차 메서드란? 메서드의 함수 표현식 메서드란? 메서드라는 것은 함수를 호출하는 객체가 있는 경우를 메서드라고 합니다. Go언어에서는 class 혹은 object가 없기에 type를 통하여 메서드를 선언할 수 있습니다. Go언어에서 정의한 메서드는 '사용자 정의 타입 값에 호출할 수 있는 특별한 함수'라고 이야기하고 있습니다. 메서드와 함수의 차이 다른 언어에서는 메서드와 함수의 형식이 크게 다르지 않았습니다. 하지만 Go 언어는 메서드는 형식부터가 다릅니다. 메서드 예시 func(리시버)..
쉬운 사람에게는 쉽고 어려운 사람에게는 어려운 Pointer에 대하여 알아보겠습니다. 목차 Pointer란? Pointer 주의사항 Pointer란? Pointer는 메모리 주소라고도 하는데 말 그대로 변수가 저장된 메모리 위치를 나타냅니다. Pointer 선언 num := 30 ptr1 := &num var ptr2 *int = &num var ptr3 *int ptr3 = &num pointer도 값을 나타내기 때문에 변수 선언처럼 선언하면 됩니다. pointer는 주소 값을 저장하는 type이기 때문에 기존의 자료형 앞에 '*'을 사용하여 pointer 자료형이라는 것을 알리고 저장하는 값은 변수의 주소이기 때문에 '&'을 사용하여 변수의 주소 값을 받아옵니다. Pointer 출력 Pointer에 ..
목차 구조체 정의 구조체 생성 임베디드 구조체 (embedded struct) 구조체 정의 서로 다른 타입을 가지지만 관련된 데이터를 하나의 타입으로 묶을 수 있게 하는 것을 구조체라고 합니다. 구조체는 type 예약어를 사용하여 정의합니다. 예를 들어 게임 캐릭터는 이름과 레벨 경험치를 포함하여야 합니다. 캐릭터마다 필요한 변수를 선언하게 된다면 변수 선언을 3번씩 하여야 합니다. type Character struct { Name string Level uint Exe float64 } 구조체를 사용하는 경우 Character라는 type을 활용하여 변수들을 묶어서 관리하기 때문에 변수들을 따로 선언하지 않고 사용할 수 있습니다. 구조체 생성 정의한 구조체를 생성하는 방법은 여러 가지가 있습니다. p..
목차 정적 배열 동적 배열 배열 순회 배열 같은 자료형의 변수들을 한 번에 관리할 수 있는 배열에 대하여 선언부터 값을 불러오는 방법까지 알아보겠습니다. 배열 선언 지금까지 C#, Java, JavaScript, Solidity 등 몇 가지 언어를 공부했었지만 Go언어의 배열 선언 방식은 처음 보았습니다. 처음 보는 방식이기도 하면서 다양한 선언 방법이 있습니다. 예시 코드를 보며 설명드리겠습니다. 출력 예시는 설명 끝에 작성하겠습니다. var testArr1 [5]int var testArr2 [4]int = [4]int{1,2,3} var testArr3 = [6]int{2:10,4:20} testArr4 := [...]string{"안녕","반가워","잘가", 5:"또 봐"} testArr5 := ..