본문 바로가기

golang/📌golang 기초2

golang 기초 #2 📌 Struct go에는 class나 object가 없고, struct위주로 돌아간다. 이 때, struct도 그렇고, field값들도 그렇고 대문자로 선언해야 public이 돼서 다른 package에서 참조가 가능하다. 원래는 정보은닉을 위해 private으로 선언하고, getter와 setter를 만들어줘야 하지만, 현재는 학습을 위해 진행하는 것이므로 정보은닉은 적용하지 않는다. 📌 은행원 예제 type Account struct{ Owner string Balance int } func NewAccount() *Account{ ac := Account{Owner: "ersu", Balance: 30} return &ac } func (a *Account) Deposit(amount int){ a... 2021. 11. 4.
golang 기초 #1 📌 golang 장점 정적타입 / 강타입 언어이다. 컴파일 속도가 빠른 컴파일 언어이다. ---> 컴파일 속도가 빨라서 인터프리터 언어처럼 사용가능하다. 비동기 메커니즘을 지원하는 Go routine이 있다. 그래서 병렬 프로그래밍이 간단해질 수 있다. native binary가 나온다. ( 배포가 편하다 ) 🔥 Go routine 멀티 쓰레드 메커니즘이지만, 자체적인 Scheduler에 의해 관리되는 경량 쓰레드라서 메모리 관리가 효율적이다. 해당 경량 쓰레드는 OS에서 관리하는 경량 쓰레드보다도 더 경량이다. Channel을 통해 동시성을 지원한다. Go는 대표적인 채널 기반 언어이다. 쓰레드라는 것을 명시적으로 주지 않아도, Go routine을 생성하면 알아서 쓰레드를 생성해주고 적절한 쓰레드에 .. 2021. 10. 15.