[Go] 코드분석, 설치, 환경 변수

jsbak·2021년 6월 14일
0

Go lang

목록 보기
1/2

Go lang 코드 분석

1. go lang 코드 비교

C# 보다는 C/C++과 더 비슷하다.

2. go 코드분석

  • Package main
    • 맨 앞줄 Package 선언
      go 패키지는 코드를 구조화 및 재사용하기 위한 단위
    • Package는 기능의 묶음.
    • Main 함수는 반드시 시작점 역할 ( CPU가 메모리에 로딩된 프로그램을 구동할 때 main 패키지의 main 함수를 찾아서 비로서 실행된다.
  • 유사 용어
    • 라이브러리 -> 책, 지식, 프로그램 기능의 묶음(IO)
    • 모듈, 패키지 -> 입력 출력 모듈 (특정기능의 묶음)
    • 프레임워크 -> 절차 포함형 기능의 묶음
    • 엔진 -> 종합 기능과 툴(tool)의 묶음
  • import "fmt" (import-package를 가져온다는 의미)
    • 외부 패키지를 사용할 때는 import 문으로 해당 패키지를 임포트
    • fmt(포맷약자)는 Go 기본 라이브러리 표준 패키지
    • 뜻은 Formatting IO(기본 입출력)을 의미.
// 여러 패키지를 가져올때 ( ) 를 사용
import (
   "fmt"
   "sort"
   "hhtp"
)

3. func main 함수

  • func main() {...} - 함수 : 연산, 수행의 묶음
    • Main 함수는 Go 프로그램의 시작점
    • Go의 함수는 func 키워드를 사용하여 선언.
  • fmt.Println("Hello World")
    • 패키지명.함수 Call (입력 매개변수) 형태로 사용.
    • fmt 패키지의 Println 함수를 사용, Hello World를 화면에 출력

Go Program의 두가지 타입
1. 실행 가능한 프로그램 : 명령 프롬프트에서 명령을 내려 실행할 수 있는 프로그램.
2. 라이브러리 : 다른 프로그램에서 호출하여 사용할 수 있는 코드의 묶음.

  • 함수명과 설명에 F12 Key를 누르면 함수 정의편으로 이동

사진 첨부하기

Go 연습 - Playground

1.Playgound

  • Go Playgound(https://play.golang.org)에서는 Go코드를 컴파일하고 실행해 볼 수 있다.
  • 간단한 문법을 확인해 보거나 실행 결과를 살펴볼 때 유용하다.
  • 웹 페이지에서 코드를 작성한 후 Run을 통해 실행 가능함.
  • Format을 클릭 시 코드의 서식을 보기 좋게 지정해붐.
  • Imports에 체크해두면 Format 버튼을 클릭 시 임포트 되지 않은 패키지를 자동으로 임포트 해줌.
  • Share을 클릭 시 작성한 코드를 공유 가능함.

패키지 > 라이브러리

참조 링크 : https://waaan.tistory.com/16

Go Setting

Install

환경 변수

GOROOT vs GOPATH

GOROOT: Go가 기본으로 설치된 폴더
GOPATH: 프로젝트 워크스페이스

1️⃣ vi ./.bash_profile 파일 수정

export GOPATH="/Users/[username]/golang"
export PATH="$GOPATH/bin:$PATH"
# export GOROOT="/usr/local/go"

2️⃣ source ./.bash_profile 변경된 사항 적용 (reload)

❓ GOROOT 설정
설치 경로가 /usr/local/go라면 GOROOT를 따로 설정 ❌
하지만 관리자 권한이 없는 등의 이유로 개인 디렉토리에 설치하였다면 GOROOT 환경 변수에 해당 경로를 설정해야 한다.
.bash_profile 에 설치한 디렉토리를 GOROOT로 설정

참고 링크1 : https://blog.outsider.ne.kr/1349
참고 링크2: https://itrepreneur.tistory.com/10

go package, module 만들기

go mod ...

go package 만들기

gopls

  • gopls - dosc

    gopls('Go please'로 발음)는 go 팀이 개발한 공식 go 언어 서버입니다.LSP 호환 에디터에 IDE 기능을 제공합니다.

    gopls 와 직접 상호 작용할 필요가 없습니다. 자동으로 편집기에 통합됩니다. 특정 기능 및 설정은 에디터에 따라 약간 다르므로 아래 에디터의 매뉴얼로 넘어가는 것이 좋습니다.

    설치는 go install golang.org/x/tools/gopls@latest

profile
끄적끄적 쓰는곳

0개의 댓글