Golang 5

Golang 입문기 - 문법 4

서론 이전 글까지 Golang에서 활용하는 타입에 대해서 공부해보았습니다. 이번 블로그를 끝으로 길고 길었던 타입에 대한 설명에 대한 마지막 투고가 될 것으로 예상합니다. Properties of types and values Underlying types (기본 타입들) 각 타입 T 에는 기본 타입들이 있습니다. T가 미리 선언된 Bool, 숫자 또는 문자열 타입 중 하나이거나 리터럴 타입이면 해당 기본 타입은 T 그 자체입니다. 그렇지 않으면 T의 기본 타입은 T가 선언에서 참조하는 타입의 기본 타입입니다. 타입 제약 조건의 기본 타입인 타입 매개 변수의 경우 항상 인터페이스입니다. type ( A1 = string A2 = A1 ) type ( B1 string B2 B1 B3 []B1 B4 B3 ..

Golang 2024.02.11

Golang 입문기 - 문법 3

서두 저번 게시글에서는 Golang의 여러 타입에 대해서 알아보았다. 이번 시간에는 추가적인 Golang 타입에 대해서 알아볼 예정이다. Interface Types (인터페이스 타입) 인터페이스 타입은 타입의 집합을 정의한다. 인터페이스 타입의 변수는 인터페이스 타입 집합에 있는 모든 타입의 값을 저장할 수 있다. 이러한 타입을 인터페이스를 구현한다고 칭한다. 인터페이스 타입의 초기화되지 않은 변수 값은 nil이다. InterfaceType = "interface" "{" { InterfaceElem ";" } "}" . InterfaceElem = MethodElem | TypeElem . MethodElem = MethodName Signature . MethodName = identifier . ..

Golang 2023.11.20

Golang 입문기 - 문법 2

서두 저번 게시글에서는 주로 문자열 관련된 Golang의 특징을 알아보았다. 이번 시간에는 상수, 변수, 타입에 대해서 집중적으로 알아볼 계획이다. 상수 (Constants) Golang에서 사용하는 상수에는 Boolean (진리값), Rune(유니코드 코드 포인트를 식별하는 정수 값), Integer (정수), Floating-point (부동소수점), Imaginary (허수), String (문자열) 상수가 있다. 룬, 정수, 부동 소수점 및 허수 상수를 집합적으로 숫자 상수라고 한다. 상수 값은 룬, 정수, 부동 소수점, 허수 또는 문자열 리터럴, 상수를 나타내는 식별자, 상수 표현식, 상수인 결과로의 변환 또는 일부 내장된 결과값으로 표시된다. 또한, 상수 인수에 적용되는 min 또는 max, ..

Golang 2023.10.27

Golang 입문기 - 문법 1

서두 이전 게시글에서, Golang이라는 프로그래밍 언어의 의의, 생겨난 목적 등등을 확인해보았다. 이번 게시글부터는 Golang에서 사용하는 문법과 다양한 언어적 특징을 알아보겠다. 해당 게시글은 https://go.dev/ref/spec 해당 페이지를 참조해서 진행하였다. 소개 해당 버전은 pre-Go1.18 이후의 버전으로 genric이 추가된 버전을 타케팅한다. Golang은 시스템 프로그래밍을 염두에 두고 설계된 범용 언어이다. 이는 강력한 타입형 언어이고, GC를 지원하며 동시 프로그래밍을 명시적으로 지원한다. Golang으로 만들어진 프로그램들은 종속성을 효율적으로 관리할 수 있는 특징을 가진 패키지들로 구성된다. Golang의 문법적 구문은 간결하고 구문 분석이 간단하므로 통합 개발 환경과..

Golang 2023.10.24

Golang 입문기 - 0

계기 한참 회사에서 풀스택 잡부로 일하면서 다양한 프레임워크, 프로그래밍 언어를 접할 기회가 있었다 (Java, Javascript, Typescript, Dart, Python, Kotlin 등등). 그 정도에 차이가 있을 뿐이지 전부 정적 타입 검사를 지원하는 아~주 고급 언어들이다. 이러한 언어들로 프로그래밍을 진행하다보니 문득, 이렇게 고급스럽게 만들어진 언어들에만 익숙해져 있어서 프로그래밍 언어 그 자체의 최적화라던가, 가비지 컬렉션, 박싱/언박싱 등등 프로그래밍 언어의 내면에 대해서 얕은 지식만 가지고 있는 채로 지나가고 있다라는 생각이 들었다. 또한, 매번 규모가 작은 스타트업에서 근무하면서 프로젝트의 아키텍처, 개발론 (TDD, DDD, BDD 등등)과 같은 이론적이고 설계적인 부분에 대해..

Golang 2023.10.20