# golang

[Go] 6. 조건문 - switch-case
Switch-case 앞의 포스트에서 if-else를 활용한 사칙연산 프로그램을 만들어 봤다. if-else를 활용하여 조건문을 만들고, 조건문에 따라서 프로그램이 수행되는 것을 확인해 볼 수 있었다. Golang에서 또다른 조건문이 있는데, 바로 Switch-cas

[Go] 5. 조건문 -if, else if, else(사칙연산프로그램)
//사칙연산 프로그램 > package main > import ( "bufio" //입력을 읽기 위한 라이브러리 "fmt" "os" //표준 입력을 받기위한 라이브러리 "strconv" //문자열을 숫자로 바꿔주는 라이브러리 "strings" //불

초심자를 위한 고루틴 활용가이드 1장 고루틴이 뭐여?
이글의 독자대상은 파이썬,JS 등의 동적언어 계열은 다루어보았으나 기존에 시스템 언어, 컴파일 언어 등은 다루어보지 않았거나 최소한으로 다루어본 사람 혹은 병렬 프로그래밍에 익숙하지 않은 사람을 대상으로합니다. > 주의사항 > - 이글은 최소한 Golang 의 syn

[Go] 4. 연산자
연산자란? 연산자(operator) 연산을 나타내는 문자 (+, -, *, / 등) 연산자의 종류 Golang Operator Docs 이항 연산자 두개 이상의 항이 필요한 연산자 대표적으로 +, -, *, / 단항 연산자 하나의 항만 필요한 연산자 ex)

[Go] 3. 변수
데이터를 저장하는 일정 공간Golang 에서의 변수를 보기전에, 예제를 위한 코드를 먼저 보자변수의 속성에는 변수명, 값, 종류(Type) 가 있다. 변수는 '변하는 숫자' 라는 의미도 담겨 있다. Golang에서는 변수를 선언하겠다는 의미의 키워드를 사용하는데, va

[Go] 2. Hello World 뜯어보기
프로그래밍을 처음 시작하면 항상하는건 Hello World 출력하기이다.지난 포스트에서 Hello World를 출력해 보았는데, go.mod 파일이 없다는 오류로 시간을 엄청 잡아 먹었었다. 검색해보면 나오는 Go 강좌에서는 그런 파일조차 나오지 않았는데, 해결하는데

[Go] 1. Golang 소개
Golang 탄생 google이 개발한 오픈소스 언어로, 2009년에 공개되었다. 로버트 그리즈머, 롭 파이크, 케네스 톰슨이 만들었는데, 세사람 모두가 C++의 복잡함이 싫어서 Go를 만들었다고 한다. 지금도 패키지에 무엇을 포함할지는 세사람이 만장일치가 되어야 이

Golang 디커플링 - 메소드 (Method)
📖 이 글은 Saturday Night 스터디에서 The Ultimate Go를 주제로 발표하기 위해 만들어졌습니다. 디커플링이란 \~\~~메소드란 \~\~~리시버란 \~\~~값 리시버란 \~\~~포인터 리시버란 \~\~~

Golang 문법 - 변수 (Variable)
📖 이 글은 Saturday Night 스터디에서 The Ultimate Go를 주제로 발표하기 위해 만들어졌습니다. Go언어에서 타입은 두 가지의 질문을 통해 완전성과 가독성을 제공합니다.할당한 메모리의 크기는 얼마인가? (예: 32-bit, 64-bit)이 메모리

Golang Docker build 시 dependency 캐싱되도록 하기(부제: 도커 빌드때 매번 go get 안할 수 있는 방법)
docker는 캐싱을 지원하기 때문에 Dockerfile 커맨드 순서를 잘 작성한다면 보다 빠르게 빌드할 수 있습니다.그러나 golang으로 개발을 하면서 분명히 소스 코드 파일만 수정했는데,매번 docker build를 할 때마다 디펜던시를 새로 처음부터 받아오는 것
Go 언어 - 배열
CPU 코어는 메인 메모리(RAM)에 접근하기 전에 CPU 캐시;CPU Cache에 접근합니다. 캐시에는 데이터와 명령어가 저장되며 프로세서;Processor 가까이 위치하면서 빈번하게 사용하는 데이터를 저장합니다. 캐시의 속도는 L1 > L2 > L3 > 메인 메모리
Go 언어 - 이스케이프 분석
이스케이프 분석;Escape analysis이란 객체의 포인터(참조)가 서브 루틴;Subroutine 밖으로 전파되는지를 분석하는 기술입니다. 이를 통해서 컴파일러가 최적화를 수행할 때 객체의 메모리를 스택;Stack과 힙;Heap 중 한 곳에 할당합니다.위 예제에서
Go 언어 - 상수
상수;Constatns는 한 번 할당된 값을 변경할 수 없는;Immutable 변수입니다.상수는 const 키워드로 선언합니다. 고언어에서 상수는 반드시 컴파일 타임;Compile time에 실행 가능한 표현식이어야 하며, 런타임;Run time 계산 결과는 상수로 할
Go 언어 - 슬라이스
CPU 코어는 메인 메모리(RAM)에 접근하기 전에 CPU 캐시;CPU Cache에 접근합니다. 캐시에는 데이터와 명령어가 저장되며 프로세서;Processor 가까이 위치하면서 빈번하게 사용하는 데이터를 저장합니다. 캐시의 속도는 L1 > L2 > L3 > 메인 메모리