Go-lang에서 패키지는 코드를 묶는 기본 단위입니다. 따라서 모드 코드는 반드시 패키지로 묶어야 합니다.
또한 Golang으로 프로그램을 작성한다면 반드시 main패키지가 존재해야 하며 main패키지 안에 main함수가 정의되어야 합니다.
main 패키지의 main함수가 프로그램의 시작 위치가 됩니다.
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Go언어에서 콘솔 입출력을 위해서는 fmt 패키지를 import 해서 사용합니다.
변수 선언
Go에서의 변수 선언 방식은 var 변수이름 변수형입니다. Short Assignment Statement'라고 불리는 := 으로도 변수를 선언할 수 있습니다. 하지만 이 용법은 함수(func)내에서만 사용이 가능합니다. 함수 밖에서(전역변수)는 var 키워드를 선언해줘야 합니다.
Go-lang에서는 변수를 선언만 하고 사용하지 않으면 에러를 뱉어냅니다 (매우 화남)
함수 선언
var a = 3
func input(a int)(int,int){ //int 매개변수 하나 리턴값 두개
var b,c int
b = a
c = a
return b,c
}
익명함수
선언과 동시에 호출합니다
func() {
fmt.Println("Hello")
}()
str := func(a string, b string) string {
return a + b
}("who", "ru")
fmt.Println(str)
이처럼 변수에 함수를 할당해서 사용할 수도 있습니다.
구조체 선언
type person struct {
name string
age int
contact string
}
var p1 = person{} //구조체 선언
p1.name = "김한별"
p1.age = 12
p1.contact = "0102923838"
p2 := person{"김민수", 20, "191828282"} //구조체 선언 및 할당