일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- golang pointer
- receiver method
- method
- 업스테이지패스트캠퍼스
- golang slice remove
- 패스트캠퍼스AI부트캠프
- struct
- 메서드
- 스코프
- 패스트캠퍼스업스테이지부트캠프
- 변수
- 패스트캠퍼스업스테이지에이아이랩
- 패스트캠퍼스
- Interface
- slice
- scope
- 국비지원
- 타입
- UpstageAILab
- 함수
- golang
- 상수
- package
- keyword
- receiver
- golang interface
- golang array
- Pointer
- array
- golang slice
- Today
- Total
목록golang (18)
느리지만 꾸준히, 코딩
개요Golang slice(슬라이스) 요소 제거하는 법에 대해 알아보겠습니다. 1. 인덱스를 사용하여 요소 제거slice := []int{1, 2, 3, 4, 5}index := 2 // 제거할 요소의 인덱스slice = append(slice[:index], slice[index+1:]...)fmt.Println("인덱스로 제거 후:", slice)// 출력: 인덱스로 제거 후: [1 2 4 5]append 함수를 사용하여 제거하려는 요소를 제외한 두 부분을 연결합니다. 슬라이스의 순서를 유지하면서 요소를 제거할 수 있습니다.2. Slice(슬라이스) 처음 또는 마지막 요소 제거slice := []int{1, 2, 3, 4, 5}// 첫 번째 요소 제거slice = slice[1:]fmt.Println..

개요슬라이스를 생성하고 조작하는 데 사용되는 세 가지 중요한 내장 함수인 make, copy, 그리고 append에 대해 살펴보겠습니다.1. make 함수`make` 함수는 타입, 길이, 용량 이렇게 세 가지 인수를 받습니다. 내장함수 주석은 다음과 같습니다.// The make built-in function allocates and initializes an object of type// slice, map, or chan (only). Like new, the first argument is a type, not a// value. Unlike new, make's return type is the same as the type of its// argument, not a pointer to it...

개요해당 포스팅은 slices-intro(go.dev) 을 참고하여 작성되었습니다.Golang 슬라이스(Slice)는 효율적이고 유연한 데이터 구조입니다. 배열과 유사하지만, 크기가 동적으로 조절될 수 있어 더 자유롭게 사용 할 수 있는 자료구조 or 구조체입니다.배열슬라이스 동작원리의 포스팅이지만, 슬라이스를 이해하려면 배열 부터 이해를 해야합니다. 간단하게 알아보고 넘어 가보겠습니다.1. 배열의 기본 특성정의: Go에서 배열은 고정된 길이의 동일한 타입 요소들의 연속된 집합입니다.선언 예시: var a [5]int (5개의 정수를 저장할 수 있는 배열 선언)2. 배열의 초기화와 접근var a [5]inta[0] = 1i := a[0]// a 출력 : [1 0 0 0 0] 배열은 선언 시 모든 요소가 ..
※ 개요고정 크기 또는 가변 크기?크기가 타입의 일부인가?다차원 배열은 어떻게 생겼나?빈 배열은 의미가 있는가?Golang 개발팀은 위의 질문에 대한 답을 찾기위해 1년이 걸렸다고 합니다. 앞으로의 포스팅을 통해 Arrays(배열), Slice(슬라이스)에 대해 기본부터 특성 사용법까지 알아 보도록 하겠습니다.참고링크: 배열, 슬라이스(및 문자열)(go.dev) ※ Arrays(배열)배열은 동일한 타입의 요소들을 연속된 메모리 공간에 저장하는 데이터 구조입니다.주요특징 고정 크기: Go의 배열은 선언 시 크기가 고정되며, 이는 변경할 수 없습니다.타입의 일부: 배열의 크기는 타입의 일부입니다. 즉, [5]int와 [10]int는 서로 다른 타입입니다.값 타입: Go에서 배열은 값 타입입니다. 이는 배열을..
Golang 인터페이스 소개Go 언어의 인터페이스는 다른 언어들과 비교하여 독특한 특징을 가지고 있습니다. Go의 인터페이스는 암시적으로 구현되며, 이는 Go의 유연성과 간결성을 높이는 핵심 요소입니다.1. 인터페이스의 기본 개념인터페이스는 메서드의 집합을 정의합니다. 구조체나 타입이 이 메서드들을 모두 구현하면, 해당 인터페이스를 구현한 것으로 간주됩니다. Go에서는 이를 명시적으로 선언할 필요가 없습니다.기본 문법인터페이스는 암묵적으로 구현예제출처 : 링크package mainimport "fmt"type I interface { M()}type T struct { S string}func (t T) M() { fmt.Println(t.S)}func main() { var i I = T{"hello"..
개요Go 언어의 인터페이스는 다른 언어들과 달리 독특한 특성을 가지고 있습니다. Golang interface 사용시 주의할점을 알아 보겠습니다. 1. Golang 인터페이스 암묵적 구현의 개념Go에서는 타입이 인터페이스에 정의된 모든 메서드를 구현하기만 하면, 해당 타입은 자동으로 그 인터페이스를 만족합니다. 이를 "암묵적 구현"이라고 합니다. 이는 다른 언어에서 흔히 볼 수 있는 "implements" 키워드 같은 명시적 선언이 필요 없는 이유입니다. 2. Golang Wiki 설명 링크Go interfaces generally belong in the package that uses values of the interface type, not the package that implements tho..
객체 지향 프로그래밍에서의 인터페이스객체 지향 프로그래밍(OOP)에서 인터페이스는 매우 중요한 개념입니다. 인터페이스는 클래스가 구현해야 할 메서드들의 집합을 정의합니다. 설계도와 같아서, 어떤 기능들이 있어야 하는지를 명시합니다. 인터페이스 사용 예시예를 들어, '동물' 인터페이스가 있다고 가정해봅시다.인터페이스 동물 { 소리내기() 움직이기()}강아지[동물] { 소리내기() { 출력("멍멍!") } 움직이기() { 출력("강아지가 뛰어갑니다.") }}고양이[동물] { 소리내기() { 출력("야옹~") } 움직이기() { 출력("고양이가 살금살금 걷습니다.") }}동물소리듣기(동물 animal) { ..
1. 인터페이스란 무엇인가?소프트웨어 개발에서 '인터페이스'는 두 개의 시스템, 프로그램, 또는 구성 요소 간의 상호작용 지점을 정의합니다. 이는 마치 두 사람이 대화를 나누는 방식과 유사합니다. 인터페이스는 이 '대화'의 규칙과 방법을 정의하는 것과 비슷합니다.2. 인터페이스의 종류사용자 인터페이스 (UI): 사용자와 시스템 간의 상호작용을 담당합니다.그래픽 사용자 인터페이스 (GUI)명령줄 인터페이스 (CLI)프로그래밍 인터페이스: 소프트웨어 구성 요소 간의 상호작용을 정의합니다.API (Application Programming Interface)라이브러리 인터페이스하드웨어 인터페이스: 하드웨어 구성 요소 간의 통신을 관리합니다.USB, HDMI 등3. 인터페이스의 주요 목적추상화: 복잡한 시스템..
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..
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..