본문 바로가기
GO Lang

GO_ 기본 구조

by u0jin 2020. 6. 6.

< C > 

#include <stdio.h>

int main(){
	printf("Hi");
    
    return 0;
}

 

< GO >

package main

import "fmt"

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

 

생김새가 c언어와 비슷하다.

코드를 하나씩 살펴보면 

 

 

1. package main

= " main 이라는 package 이다. " 라고 선언한것.

main = 프로그램의 시작점 을 말한다. (* 라이브러리는 시작점이 존재하지 않는다.)

다시말해, 시작점을 포함하는 패키지를 선언한것으로 보면 된다.

(* 프로그램을 실행할때 하드디스크 -> 메모리를 적재후, CPU는 IP를 잡는다. -> 이때, IP가  main 인것)


  • 라이브러리 ( library = 도서관 => 지식 ) = 프로그램을 만들때, 여러 기능이 필요한데, 그 기능들을 묶어놓은것을 뜻한다. (* 동적라이브러리 / 정적 라이브러리 가 존재한다.)

ex) 입출력 , 소리 , 3D, 압축, 버튼, 스크롤바 등이 있다.

  • 모듈 = 기능들을 묶어 놓은것이다. 라이브러리와 차이점은 라이브러리 보다 좀더 포커싱이 된것을 뜻한다.

ex ) 입력모듈  등이 있다.

  • 패키지 = 묶음 

 

  • 프레임워크 = 기능을 묶어놓은것 + 절차 까지 포함한다.

 

  • 엔진 = 기능들을 묶어 놓은것 + 프로그램/툴 까지 포함한다.

ex) 언리얼엔진 , 유니티엔진

 

해당 단어들은 모두 기능들의 묶음을 말하지만, 조금씩 다르다. 

 

2. import "fmt"

= fmt 를 가져와서 쓰고 싶다는 뜻이다.

import 는 말그대로 가져오다를 뜻한다. -> 패키지를 가져오다 로 볼수있고, 여기서 말하는 패키지는 fmt 패키지를 말한다.

(* 비슷하게 사용되는것으로  include = 포함하다 가 있다.)

fmt = GO에서 만든/제공하는 표준 패키지

여러 패키지를 가져올때는 괄호를 써서 가져올 수 있다.

ex)

import(
	"fmt"
    	"net/http"
)

 

3. func main() { 

= main함수를 정의한것이다.

func main (-입력 ) 출력  {-시작   을 뜻한다.

입력과 출력이 없는경우 비워둔다.

 

함수란, 연산 수행을 뜻한다.

입력과 출력이 의무는 아니며, (연산을)수행하는것이 핵심이다.

ex)

func f2(){
	Println("안녕")
}

연산과 입력은없으나, "안녕"을 수행한것이다.

 

4. fmt.Println("Hi")

= fmt라는 패키지 안에 있는, Println이라는 함수를 call 한다.

fmt 바로 뒤에 붙는 . 가 뜻하는 말은 "안 에있는" 이라고 볼수있다.

(* Println이라는 함수의 입력은 괄호속의 "Hi" 가 된다. )

'GO Lang' 카테고리의 다른 글

GO_웹 제작(4)  (0) 2020.06.23
GO_웹 제작(3)  (0) 2020.06.17
GO_웹 제작(Test 환경 구축)  (0) 2020.06.13
GO_웹 제작(2)  (0) 2020.06.08
GO_웹 제작(1)  (2) 2020.06.07

댓글