Go Lang 리뷰 2016.02.25 이동은
목차 Go Lang
Go Programming https://golang.org/ A Tour of Go 구글의 서버 프로그램 언어 2009년 발표 A Tour of Go https://go-tour-kr.appspot.com
GO 특징 GO 언어의 목표 : 시스템 개발 C와 비슷한 성능, C/C++로 개발돼 온 분야 대체 가비지 콜렉션 병렬 처리 적용 가능 분야 : 웹서버, 웹브라우저, 웹로봇, 검색엔진, 컴파일러, 프로그래밍 도구, IDE, 운영체제 C와 비슷한 성능, C/C++로 개발돼 온 분야 대체 가비지 콜렉션 병렬 처리 컴파일 언어 파이썬 수준의 서버 프로그래밍 웹서버, 소켓, OS 내부 기능 크로스 컴파일 class, inheritance(상속)을 없애고 struct와 interface만 제공
Go / 설치 (Win, OSX, Linux)
GO / Getting Started 설치 테스트 GOPATH 설정 hello.go 작성 compile execute src/github.com/user/hello 폴더 compile execute
GO / Tool 설치 – Visual Studio Code
GO / Tool – Visual Studio Code go ext 설치 ‘F1’ -> ‘ext inst’ go 설치 Analysis Tool 설치 delve 설치 (디버거) git 설치
Visual Studio Market
Visual Sutio Code Debug
Go / defer defer /지연 해당 함수 완료 시 실행 파일/소켓 등을 열고 닫을때 사용 f, _ := os.Open(filename) defer f.Close()
Go / struct, interface struct interface type 키워드 사용 메소드 : func와 함수명 사이에 “수신자” 추가 interface type ‘이름’ interface 인터페이스 타입을 함수의 인자로 사용
Go / go go /고 루틴 다른 함수를 동시에 실행 생성 비용이 많이 들지 않는다
Go / channel chan / 채널 선언 : chan [타입] c <- //채널에 메시지 전달 단방향 채널 2개의 고루틴 동기화 pinger가 메시지를 채널에 전송하려고 시도할 경우 printer가 해당 메시지를 받을 준비가 될 때까지 대기 (블로킹)
GO / HTTP GET HTTP GET
Go / Post HTTP Post RC Agent 로그인
감사합니다.