내가 좋아해서 하는 Go(3)
-
분석하는 Go : ReadAll
이 문서의 모든 자료는 Go 공식 document와 Go언어의 소스코드를 직접 분석하여 작성합니다. 작성하는 것에 정말 많은 시간이 들은 내용이므로 불펌자제 부탁드리고, 제 내용을 참고하실 때 출처 기록부탁드립니다. 출처 : golang.org/pkg/io/ioutil/ 개요 ioutil은 I/O utility함수를 구현합니다. 구성은 Variables 변수 func NopCloser func ReadAll func ReadDir func ReadFile func TempDir func TempFile func WriteFile 로 되어있습니다. 앞으로의 포스트에서 각 패키지를 조금 뜯어 보며, 다양한 함수를 다룰 계획입니다. 이 포스트에서는 이 ReadAll 함수를 코드레벨까지 자세하게 다루겠습니다. ..
2021.02.08 -
내가 좋아해서 하는 Go 2 : 조건, 반복문
1. If else 문 golang의 if문은 다음과 같은 문법을 지닙니다. if 조건문 { } else나 else if를 사용하고 싶다면 끝나는 중괄호와 같은 라인에 와야 합니다. if 조건문 { } else if 조건문 { } else { } 간단한 구문을 실행할 수 있고, 만약 그 구문에서 변수를 선언하면, if, else if, else 세트의 안에서만 스코프가 존재합니다. if a := 2; a > 5{ } else { fmt.Println(a) // 성공 } fmt,Println(a) // 실패 2. For 문 Golang의 For문은 괄호를 필요로 하지 않는다. 그 대신 반드시 중괄호가 같은 줄에 와야합니다. for 초기구문; 조건 구문; 사후 구문 { } 초기 구문과 사후 구문은 생략이 가..
2021.02.03 -
내가 좋아해서 하는 Go 1 : Go의 기초
1. 개요 Go language가 언어의 복잡성을 줄이고, 병렬 프로그래밍에 특화된 언어라는 점을 고려하였을 때, 프로그래밍 학습의 시작을 Go language로 하는 것은 적절하지 않다. Generic을 곧 지원한다고 하지만, 아직 지원되지 않았고 또한 쓰레드 생성을 통한 병렬 프로그래밍 자체도 공유자원에 대한 관리와 소프트웨어 아키텍처의 이해를 바탕으로 하기 때문에, 언어의 간략함에 비해 초급자에게 적절한 언어는 아니다. 따라서 앞으로의 Go에 대한 포스트에서는 초급자가 익혀야 되는 다양한 개념이나 컴퓨터 공학의 기반 지식은 이미 알고있다고 가정하고 작성한다. 물론, 간단히 언급할 수 있는 것은 하겠지만, 풀어쓰진 않는다. 2. Go package javascript의 ES6, 파이썬과 유사하게 im..
2021.02.02