Golang - 개발환경 설정, 변수

Lumi·2022년 2월 6일
0

Golang

목록 보기
1/38
post-thumbnail

🔥 개발환경 설정

Go

🔨 go run을 통해서 바로 실행

경로에 맞게 이동한 다음에 단순히 go run 파일이름.go를 통해서 실행시켜 주면 된다.

🔨 실행 파일을 만들어서 실행

경로에 맞게 이동한 다음에 일단 초기화를 해준다.

  • go mod init 원하는 이름

이후 단순히 해당 파일 명을 입력함으로써 작동시킨다.

🔥 Go의 언어

Go언어는 일단 최강최강최강 타입의 언어 입니다.

언어에는 약타입 vs 강타입이 존재한다.

약타입 언어의 대표주자는 node.js이다.

- 12 + "12" = "1212"
와 같이 작동하는 언어가 약타입 언어이다.

강타입 언어는 java,Go가 있다.

int32 a = 3		int64 b = 4

a + b = ??
여기에서 에러가 발생하는 언어를 말한다.

-- 즉 강타입 언어는 타입이 반드시 맞아야 한다 --

🔥 간단한 역할 분석

위에 있는 사진에 있는 코드를 간단하게 분석해보았습니다.

🔨 package

반드시 시작할떄 적어줘야 하는 코드 입니다.

  • 무슨 package에 있는 코드다 라는 것을 암시한다.

main같은 경우에는 특별한 의미로만 사용이 된다.

  • 프로그램 시작점을 포함하는 패키지 라는 의미이다.
  • 시작하는 패키지를 의미하기 떄문에 main패키지 하나와 다른 여러개의 패키지로 구성이 되어있다.

🔨 import "fmt"

fmt라는 패키지를 가져오겠다 라는 의미가 된다.

🔨 func main(){}

다 알듯이 함수를 정의하는 부분 입니다.

main같은 경우에는 함수 이름을 의미합니다.

  • 아무런 이름이나 적어도 됩니다.

하지만 main만은 특별한 키워드를 의미 합니다.

  • 프로그램 시작점을 말합니다.

  • 만약 main이 없이 hojin이라는 함수만이 존재한다면 go run 실행시에 오류가 발생합니다.
  • 즉 main은 시작점을 의미하기 떄문에 시작할떄 실행시킬 함수를 적어 주게 됩니다.

🔥 변수

  • 글보다는 사진이 좀더 명시적이여서 테스트를 해보았습니다.

전역변수나 지역변수 같은 부분도 모두 테스트를 진행을 해보았습니다.

  • var : 변수를 선언
  • uint : 부호 없는 정수
  • int : 부호 있는 정수
  • float : 실수
  • rune : int32의 별칭 [UTF-8로 문자를 나타날떄 사용]
  • byte : uint8의 별칭

변수 선언문을 생략하는 방법

a := 10
- a는 int타입을 가지는 10이라는 뜻

b := "hello"
- b는 string타입을 가지는 hello라는 뜻

c := true
- c는 bool타입을 가지는 true라는 뜻

var d = 10
- d는 int타입을 가지는 10이라는 뜻

타입을 변환 시키는 방법

a:= 10
b := 3.14

c := a+b
- 이곳에서 에러가 발생
- 왜냐하면 타입이 다르기 떄문에

a := 10
var b int64 = 10

c := a+b
- 이 부분에서도 에러 발생
- 둘다 모두 int64이지만 Go언어에서는 다르다고 판단을 하기 떄문에

그러기 떄문에 이런 값들을 계산하고자 한다면 형변환을 해줘야 한다.

c := int64(a+b)
- int64로 바꾸어 주면 float값(3.5)같은 경우에는 3이 된다.

- 이 부분에서 반드시 우리는 변수의 size를 고려해 주어야 합니다.

var a int16 = 3456
var b int8 = int8(a)

- 이 코드는 에러를 발생시키지 않지만 이상한 값이 나옵니다.(아마 b는 -값이 나올것 입니다.)
- 왜냐하면 int16은 int32보다 작은 size를 가지고 있지만 int16을 넘어서는 크기를 형변환 하려고 했기 떄문에 오류가 발생합니다.
profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글