Go 언어 프로그래밍 (Tucker의 Go 언어 프로그래밍)
* Go 언어 프로그래밍 - 개요 및 환경설정(윈도우즈편)* Go 언어 프로그래밍 - 변수
* Go 언어 프로그래밍 - fmt 패키지를 이용한 표준 입출력
* Go 언어 프로그래밍 - 연산자
* Go 언어 프로그래밍 - 슬라이스(Slice)
* Go 언어 프로그래밍 - 함수와 상수
* Go 언어 프로그래밍 - 조건문과 반복문 (if문, switch문, for문)
* Go 언어 프로그래밍 - 조건문과 반복문 (배열)
* Go 언어 프로그래밍 - 메서드
* Go 언어 프로그래밍 - 조건문과 반복문 (구조체, 포인터)
* Go 언어 프로그래밍 - 문자열, 모듈과 패키지
* Go 언어 프로그래밍 - 숫자맞추기 게임
* Go 언어 프로그래밍 - 인터페이스
* Go 언어 프로그래밍 - 함수 고급편
* Go 언어 프로그래밍 - 자료구조 - 1
* Go 언어 프로그래밍 - 자료구조 - 2
* Go 언어 프로그래밍 - 에러처리
* Go 언어 프로그래밍 - Go 루틴
* Go 언어 프로그래밍 - 채널과 컨텍스트
* Go 언어 프로그래밍 - SOLID
Go 언어 공부를 하기 위해 개발자,저자, 유투버인 Tucker 님의 유투브를 보며 그대로 진행한 학습내용입니다.
Go 를 배워야 하는 이유
높은 생산성
1. C언어와파이썬의 장점을 취해 문법 자체가 단순하고 깔끔하다
2. 코딩을 돕는 편리한 도구가 기본으로 제공된다.
3. 쉽게 테스트 코드를 작성하고 코드 문서화 까지 할 수 있다.
4. 함수 리터럴 및 클로저를 자유자재로 사용할 수 있다.
5. 덕 타이핑을 지원해 인터페이스만 가지고 메서드를 호출할 수 잇어 요구사항 변경에 유연하게 대처할 수 있다.
6. 상속을 지원하지 않아 강력한 상호 의존 관계 생성과 다이아몬드 상속 문제 등을 예방한다.
7. 고 루틴을 제공해 동시성 프로그래밍이 쉽고 그 별과는 강력하다.
8. 가비지 컬렉션 지원으로 메모리 관리 부담을 덜 수 있다.
9. 강력한 타입 검사와 타입과 상관 없이 일관된 규칙 적용으로 버그를 최소화한다.
범용성 인정
Kubernetes, Docker, Lime Text editor, Dropbox 리뉴얼 등 다양한 곳에서 이미 활용
환경설정(Windows)
1. Go SDK 다운로드
Go 다운로드 후, 정상적으로 동작하는지 확인을 한다.
Ctrl + R 혹은 CMD검색을 통해 CMD창을 띄우고 go 명령어를 사용해본다.
go version //go 버전 확인
그림과 같이 버전이 출력되면 정상적으로 go sdk 가 설치되었다.
2. 형상관리 툴 다운로드 및 설정
강좌에서는 GIT 을 사용하였다.
형상관리 툴에 대해서는 추후 자세히 공부할 예정이기 때문에 생략한다.
3. IDE 다운로드
강좌에서는 Visual Studio Code를 사용하였다. (무료)
https://code.visualstudio.com
비쥬얼 코드 다운로드 후, 실행파일을 켜서 정상동작을 확인한다.
go 를 실행할 수 있도록 extension을 추가한다.
Visual code studio는 소스코드 편집기 이지만, 많은 플러그인들을 통해 개발에 도움을 줄 수 있다.
좌측에 네모 4개의 아이콘을 클릭하면 extensions을 검색하고 다운로드 받을 수 있다.
Go 를 검색하여 설치를 진행한다.
도구바에서 [File] - [Open Folder] 를 클릭하여 원하는 위치에서 확인을 누른다. (해당 위치에서 소스편집기가 열린다.)
단축키 [ctrl] - [shift] - [`] 혹은 상단 도구바의 [Terminal] - [New Terminal]을 클릭하면 명령어 창이 열린다.
4. Go 로 Hello World 출력하기
hello.go
//set code package.
//it means program start-point in package "main"
package main
//load go pakage(have functions)
import "fmt"
func main() {
//print a string to the screen
//go run hello.go => run the go script
//go build => buiild the go project. but you must have go module
//go mod init {modulename} => make go module
fmt.Println("Hello world!")
}
go run {hello.go} 를 터미널에서 실행하면 go script 를 바로 실행한다.
go mod init {module Name} 를 터미널에서 실행하면 go module 파일을 초기화 한다는 뜻이다. 주로 모듈명은 파일의 경로로 진행된다.
go build go script 를 바로 실행할 수 있는 실행파일(.exe)을 생성한다.
(go 1.16v 부터 go module이 필수적이다. 빌드 실행 전에 go mod init으로 go module을 생성하자)
참고
Tucker의 Go언어 프로그래밍 - Go가 온당
https://www.youtube.com/watch?v=g4PyJ10CSr0&list=PLy-g2fnSzUTBHwuXkWQ834QHDZwLx6v6j
'Programming Language > go' 카테고리의 다른 글
Go 언어 프로그래밍 - 함수와 상수 (0) | 2021.07.07 |
---|---|
Go 언어 프로그래밍 - 슬라이스(Slice) (0) | 2021.07.05 |
Go 언어 프로그래밍 - 연산자 (0) | 2021.07.05 |
Go 언어 프로그래밍 - fmt 패키지를 이용한 표준 입출력 (0) | 2021.07.05 |
Go 언어 프로그래밍 - 변수 (0) | 2021.07.05 |