< 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 |
댓글