Go 란?
구글에서 개발한 프로그래밍 언어
Go 설치하기
Go의 특징과 필요성
한 가지 기능을 구현하기 위한 방법이 한 단개 밖에 없다. ( 코드의 획일화 )
- 배워야 할 것이 적다
- 다른 사람이 쓴 코드를 알아보기 쉽다.
멀티태스킹을 할 수 있다. ( goroutine )
- 빠르다.
패키지 관리자 없이, github에서 바로 사용자의 패키지를 받아올 수 있다
- 엄청난 패키지 접근성
Go 시작시 유의점
go > src > github.com (도메인) > 프로젝트 이름 > main.go 형식으로 사용해야 한다.
main.go 파일이 없으면, 컴파일 되지 않는다.
첫번째 줄에, 어떤 패키지를 사용할지 지정해주어야 한다.
package main
패키지 마다, 하나이상의 함수를 가지고 있어야 한다.
package main
// main package의 함수이름은 무조건 main이어야 한다.
func main(){
}
함수를 export 해주기 위해서, 첫글자를 대문자로 작성해주어야 한다.
// Println 이란 함수를 모듈로 불러왔다. (맨 앞글자 대문자)
fmt.Println("Hello world")
go 파일 실행하기 ( 빌드 )
// 실행하고 싶은 파일 지정
go run main.go
상수와 변수의 형식을 지정할 수 있다.
// 문자열 형식의 상수를 지정
const name string = "jinho"
// bool 형식의 변수에, 문자열이 들어왔으므로 에러 발생
var test bool = "ok"
변수 형식 지정을 줄여서 작성할 수 있다.
// var name string = "jinho" 줄여서 작성하기 ( 함수 내부에서만 사용가능 )
name := "jinho"
// go가 "jinho"의 타입으로 name을 자동 지정해준다.
변수 사용시 주의점
// main.go
package main
import "fmt"
// 사용하는 모든 변수에는, 형식을 지정해 주어야 한다.
func multifly(a, b int) int {
return a * b
}
func main(){
fmt.Println(multifly(2, 2))
}
하나의 함수로, 여러개의 값 반환하기
package main
import (
"fmt"
"strings"
)
// 출력 형식을 ()로 감싸, 여러개의 값을 반환 할 수 있다.
func lenAndUpper(name string) (int, string) {
return len(name), strings.ToUpper(name)
}
func main(){
lenth, upperName := lenAndUpper("Jinho")
fmt.Println(lenth, upperName)
}
변수 사용시 유의점 2
package main
import (
"fmt"
"strings"
)
func lenAndUpper(name string) (int, string) {
return len(name), strings.ToUpper(name)
}
func main(){
lenth, upperName := lenAndUpper("Jinho")
fmt.Println(upperName)
// 변수를 지정하였으나, 사용하지 않으면 에러를 발생한다!
// 사용하지 않는 변수이름을 "_"로 바꿔, 무시할 수 있다 ( lenth > _ )
}
반응형