Go
경로에 맞게 이동한 다음에 단순히 go run 파일이름.go
를 통해서 실행시켜 주면 된다.
경로에 맞게 이동한 다음에 일단 초기화를 해준다.
go mod init 원하는 이름
이후 단순히 해당 파일 명을 입력함으로써 작동시킨다.
Go언어는 일단 최강최강최강 타입의 언어 입니다.
언어에는 약타입 vs 강타입이 존재한다.
약타입 언어의 대표주자는 node.js이다.
- 12 + "12" = "1212"
와 같이 작동하는 언어가 약타입 언어이다.
강타입 언어는 java,Go가 있다.
int32 a = 3 int64 b = 4
a + b = ??
여기에서 에러가 발생하는 언어를 말한다.
-- 즉 강타입 언어는 타입이 반드시 맞아야 한다 --
위에 있는 사진에 있는 코드를 간단하게 분석해보았습니다.
반드시 시작할떄 적어줘야 하는 코드 입니다.
main같은 경우에는 특별한 의미로만 사용이 된다.
fmt
라는 패키지를 가져오겠다 라는 의미가 된다.
다 알듯이 함수를 정의하는 부분 입니다.
main같은 경우에는 함수 이름을 의미합니다.
하지만 main만은 특별한 키워드를 의미 합니다.
go run
실행시에 오류가 발생합니다.전역변수나 지역변수 같은 부분도 모두 테스트를 진행을 해보았습니다.
변수 선언문을 생략하는 방법
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을 넘어서는 크기를 형변환 하려고 했기 떄문에 오류가 발생합니다.