Go lang - install, print, annotation, variable, data type

Sungmin Kim·2022년 4월 12일
0

Go-Lang

목록 보기
1/1
post-thumbnail

Go lang의 장점

  • 파이썬에 비해 성능이 좋고, C보다 쉬운 반면 속도는 밀리지 않는다.

설치(linux)

  1. 먼저 version을 지정
GO_VERSION=1.17.1
  1. go를 가져와줌
curl -LO https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz
  1. 이전 버젼을 지우고 동시에 압축을 플어 설치
rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
  1. 환경 변수를 등록
cat ~/.profile | grep /usr/local/go/bin || echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile
cat ~/.profile | grep GOPATH= || echo 'export GOPATH=$(go env GOPATH)' >> ~/.profile
cat ~/.profile | grep GOPATH/bin || echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.profile
source ~/.profile
  1. 잘 설치 되었는지 확인해줍니다.
echo $GOPATH
go version

print

package main

import "fmt"

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

출력을 위해서 fmt라는 module을 import해서 print를 수행

  • println : print하고 enter을 한다.
  • print : print만 한다. (동적으로 출력 가능)
  • printf : print를 하는데 자료형을 설정하면서 변수를 삽입

Tip) vscode에서 실행을 할 경우 go extension을 같이 사용하는 것이 좋다.

파일의 실행

일반적인 run!

다음과 같이 파일을 만들어서 저장을 하고
go run ~~.go를 실행하게 되면

다음과 같이 command 창에 출력이 잘 실행 됨

build 후 실행

go build lesson.go를 실행하면
다음과 같이 동일 폴더에 exe파일이 생성됩니다.

이를 ./~~.exe를 하게 되면 마찬가지로 파일이 실행되게 됩니다.

Tip) 이는 c언어와 마찬가지로 compile후에 실행이 되는 것이 특징이다.
컴파일러, 인터프리터에 대해서는 중요하므로 알아보면 좋다!

annotation(주석)

annotation은 코드 실행에 영향을 주지 않고,
코드를 리뷰할 때 서로 간에 혹은 스스로 내용을 기록 전달하기 위해 있는 코드
go lang의 annotation은 다음과 같이 사용하면 된다

// 주석으로 사용할 문장

variable(변수)

변수 선언은 다음과 같이 수행이 됩니다.

var ~~ = 
var ~~ 자료형 =
~~ := 

혹은 따로 자료형을 입력하지 않아도 동적할당(자동으로 자료형 설정)도 가능하다.
example)

package main
import "fmt"
func main() {
	var a = "Sungmin"
	fmt.Println(a)

	var b string = "Kim"
	fmt.Println(b)

	c := "engineer"
	fmt.Println(c)
}

데이터 타입

  1. bool : 참, 거짓(if문 등과 함께 활용)
  2. string : 문자열(한번 생성되면 수정될 수 없는 Immutable 타입)
  3. int, uint : 정수형
  4. float : 실수형
  5. complex : 복소수형
  6. byte : uint8과 동일하며 바이트 코드에 사용
  7. rune : int32와 동일하며 유니코드 코드 포인트에 사용

데이터 타입 변환

package main

import (
	"fmt"
)

func main() {
	var i int = 100
	var u uint = uint(i)
	var f float32 = float32(i)
	fmt.Println(f, u)
}

다음과 같이 A(a)의 형태로 자료형을 변환할 수도 있다.

profile
Computer Vision Engineer

0개의 댓글