go..? go..!

samdaso-o·2021년 8월 25일
0

Go

목록 보기
1/3
post-thumbnail

go언어는 컴파일을 하기 위해선 파일이름을 main으로 선언해주어야 한다.
진입점이 main이기에 컴파일러는 패키지 이름이 main인 것부터 찾기 때문이다.
만약 오픈소스나 공유를 위한 라이브러리를 만든다면 이런경우에는 main.go를 사용하지 않아도 된다.

가장 기초적으로 'Hello world'를 프린트 해보겠다.
첫줄에는 메인 패키지를 선언한다.
-file name : main.go

package main

import "fmt"

func main(){
fmt.Println("Hello world")
}

첫줄에는 내가 작성할 패키지의 이름을 적어 선언해준다.
그리고 go언어는 다른 파이썬 언어와 다르게 func main()을 선언해주어야 한다.
이것이 이 프로그램의 시작점이 되는 부분이다.
자동적으로 컴파일러는 main pakage와 그 안에 있는 main func을 먼저 찾고 실행시킨다.
fmt는 formatting의 약자로 여러가지 func기능을 담고있다. 그중 프린트기능이 가능한 Println을 사용했다.
만약 vs code를 사용한다면, fmt을 입력만 하면 자동으로 위쪽에서 import를 해주는 기능이 있으니 참조하길 바란다.

  • 대문자로 시작하는 func??
    -file name : practice.go

    package practice

    import "fmt"

    func hi(){
    fmt.Println("hi")
    }

    func Hi(){
    fmt.Println("Hi")
    }

위와 같이 다른 파일에서 패키지를 선언하고 두가지의 func을 만들었다.
그리고 처음에 작성한 main 패키지에 적용을 시켜보겠다.
-file name : main.go

package main

import ("fmt"
"xxx/xxx/learngo/practice"

func main(){
fmt.Println("Hello world")
practice.Hi()
}

func을 대문자로 작성한 func은 import가 되지만 소문자로 작성한 func은 import가 되지 않는다. 소문자로 작성하면 pravite func으로 취급되 import 되지 않는다. 하지만 대문자로 작성한다면, 다른 패키지에서 import해서 사용가능하다.

profile
ㅎㅅㅎ

0개의 댓글