Golang - 개발환경 설정, 변수
🔥 개발환경 설정
Go
- https://golang.org 이곳에서 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을 넘어서는 크기를 형변환 하려고 했기 떄문에 오류가 발생합니다.
Author And Source
이 문제에 관하여(Golang - 개발환경 설정, 변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jjimgo/Golang-개발환경-설정-변수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)