- 간결, 단순, 가볍다, 실행 속도 빠르다
- goroutine(병행 프로그래밍), 채널, 동기화
- 제네릭과 예외처리 미지원, 대신 try-catch-finally, 에러타입 구현
- gofmt를 통해 컨벤션 통일
'Go' 카테고리의 다른 글
Go: Build vs Run vs Install (0) | 2020.12.17 |
---|---|
Go: 환경설정 (0) | 2020.12.16 |
Go: Build vs Run vs Install (0) | 2020.12.17 |
---|---|
Go: 환경설정 (0) | 2020.12.16 |
// helloworld.go
package main
import "fmt"
func main() {
fmt.Println("hello world!")
}
Go: Golang의 특징 (0) | 2020.12.17 |
---|---|
Go: 환경설정 (0) | 2020.12.16 |
마찬가지로 go가 설치된 폴더로 가 보면 bin, pkg, src 폴더가 존재한다.
// ~/.bash_profile을 생성해서 환경변수 세팅 후, source ~/.bash_profile 명령어로 적용시켜준다
export GOPATH="/Users/soyeon/Documents/go_study"
export GOBIN=$GOPATH/bin
export PATH="$PATH:$GOPATH:$GOBIN"
- 왜 나는 bash_profile을 설정했는데도 터미널을 새로 켤때마다 source ~/.bash_profile을 해 줘야하는 것인가?
=> 이 문제 때문에 go-plus도 제대로 실행되지 않음ㅠㅠ
이유는 zsh를 사용하고 있었기 때문이었다. bash를 기본으로 사용하고 있으면 .bashrc -> .bash_profile 순으로 실행되지만,
mac 기본 쉘이 zsh를 사용하고 있었기 때문에 .zshrc -> .bash_profile이 실행될 수 있도록 아래와 같은 부분을 추가해준다.
// ~/.zshrc 에 아래 부분 추가
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
+ 추가) bash_profile vs bashrc vs zshrc ?
첨에 gomodule이 뭔지도 모르고 프로젝트를 시작해서 gopath 등 환경변수 세팅하는데 애먹었었는데..
알고보니 이런 불편한 점들을 개선하기 위해 gomodule이라는 방식으로 개발하면 된다고 함
개발하고자 하는 패키지에서 아래 명령어로 go.mod 파일을 생성한 뒤, main.go 함수를 추가하고 개발하면 된다고 한다..
go mod init github.com/{username}/{repository}
Go: Golang의 특징 (0) | 2020.12.17 |
---|---|
Go: Build vs Run vs Install (0) | 2020.12.17 |