반응형

2024/04 5

[Go] Slice 기능 요약

슬라이스 배열은 정한 길이에서 더이상 크기가 늘어나지 않습니다. 슬라이스를 사용하면 이러한 불편을 해소 할 수 있습니다. 다음 과 같이 선언하면 크기가 0인 슬라이스가 만들어 집니다. 크기를 초과한 접근을 하면 런타임에 패닉이 발생합니다. var slice []int // 패닉 발생 slice[1] = 10 사용 방법 // {}로 초기화 var slice = []int{1, 2, 3} // 다음은 크기가 3인 배열 선언, 구분합시다! var array = [...]int{1, 2, 3} // make로 초기화 var slice = make([]int, 3) // append로 요소 추가 slice = append(slice, 4) // append로 여러 값 추가 slice = append(slice, ..

Go 언어의 Json Tag

Go 언어의 Json 참고: https://www.joinc.co.kr/w/man/12/golang/json JSON Tag encoding/json 패키지의 경우 아래와 같이 Tag를 이용해서 마샬/언마샬 방식을 설정 할 수 있습니다. type RequestCreateOpenChannel struct { Name string `json:"name"` ChannelUrl string `json:"channel_url"` CustomType string `json:"custom_type"` Data string `json:"data"` IsDynamicPartitioned bool `json:"is_dynamic_partitioned"` } omitempty omit empty : 비어 있으면 생략한다. ..

C++ 개발자를 위한 Go 언어 요약 정리

C++ 개발자 분이 두꺼운 Go 언어책 모두를 다시 보실 필요 없이 C++ 언어 기반에서 추가로 이해하면 좋은 핵심 내용들만 간추렸습니다. Go 언어 특징 Go는 정적 컴파일 언어. 컴파일 과정을 거쳐 실행 파일을 미리 만들어야 하지만 실행 속도가 빠릅니다. Go는 강 타입 언어입니다. 조금 번거롭지만 타입에 따른 문제점이 없습니다. Go 언어는 가비지 컬렉터 제공 가비지 컬렉터 Go 언어는 가비지 컬렉터를 제공합니다. 매우 발전된 형태의 가비지 컬렉터를 제공해 성능 손실이 크지 않습니다. 패키지 명 == 폴더 명 Go 모듈 생성 go mod init 명령을 실행하여 모듈 생성 예) go mod init myproject/hello Go 모듈을 생성하면 go.mod 파일이 생성됩니다. Go 빌드 go t..

반응형