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