이 튜토리얼에서는 Go 언어 내에서 사용할 수있는 모든 기본 데이터 유형을 살펴볼 것입니다.이 튜토리얼이 끝나면 언어 내에서 사용할 수있는 다양한 유형에 익숙해져야 하며 Go 프로그램 내에서 이러한 유형을 사용할 수 있는 방법에 대해 어느 정도 이해해야 합니다.
이런 종류의 자료는 배우기에 상당히 건조하고 지루할 수 있으므로 필요한 기본 사항을 다루면서 내용을 약간 재미있게 만들고 약간 흥미롭게 만들 것입니다.
데이터 유형
따라서 시작하려면 Go 프로그래밍 언어 내에 4 가지 유형의 개별 범주가 있음을 아는 것이 중요합니다.
- 기본 유형-이 튜토리얼에서 다룰 내용
- 집계 유형-배열 및 구조체입니다.
- 참조 유형-포인터와 슬라이스입니다.
- 인터페이스 유형-표준 인터페이스입니다.
정수
우리가 다룰 첫 번째 기본 유형은Integer유형입니다.
프로그램 내에서 부호 있는 정수 나 부호 없는 정수를 사용할 수 있으며 필요한 정수의 크기를 지정할 수 있습니다. 프로그램의 메모리 사용률을 최적화하려고 한다고 상상해보십시오.특정 숫자가 특정 값을 초과하지 않을 것이라는 것을 알고 있다면 해당 값에 적합한 크기를 선택할 수 있습니다.
uint 또는int끝에 int 크기를 추가하여새 정수 변수를 만들 수 있습니다.
// all numeric types default to 0
// unsigned int with 8 bits
// Can store: 0 to 255
var myint uint8
// signed int with 8 bits
// Can store: -127 to 127
var myint int8
// unsigned int with 16 bits
var myint uint16
// signed int with 16 bits
var myint int16
// unsigned int with 32 bits
var myint uint32
// signed int with 32 bits
var myint int32
// unsigned int with 64 bits
var myint uint64
// signed int with 64 bits
var myint int64
처리 할 수있는 것보다 더 큰 값을 int에 할당하려고하면 다음과 같은 점에 유의해야합니다.
var myint int8
myint = 2500
Go 컴파일러는 프로그램 실행 또는 빌드에 실패하고 2500이 오버플로된다는 사실을 출력합니다 int8. 그러나 런타임에 정수를 오버플로하면 이상한 결과가 나타날 수 있습니다. 예를 들어,이 프로그램을 실행하고 출력을 검토하십시오.
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello World")
var myint int8
for i := 0; i < 129; i++ {
myint += 1
}
fmt.Println(myint) // prints out -127
}
유형 변환
var men uint8
men = 5
var women int16
women = 6
var people int
// this throws a compile error
people = men + women
// this handles converting to a standard format
// and is legal within your go programs
people = int(men) + int(women)
부동 소수점 숫자
다음으로 부동 소수점 수에 대해 설명합니다. 이는 float32또는 두 가지 크기로 제공되며 float64표준 int64데이터 유형에 맞지 않는 예외적으로 큰 숫자로 작업 할 수 있습니다 .
var f1 float32
var f2 float64
var maxFloat32 float32
maxFloat32 = 16777216
fmt.Println(maxFloat32 == maxFloat32+10) // you would typically expect this to return false
// it returns true
fmt.Println(maxFloat32+10) // 16777216
fmt.Println(maxFloat32+2000000) // 16777216
// converting from int to float
var myint int
myfloat := float64(myint)
// converting from float to int
var myfloat2 float64
myint2 := int(myfloat2)
부울
이제 모든 기본 숫자 데이터 유형을 다루었으므로 Go에서 사용할 수있는 다른 기본 데이터 유형으로 넘어갈 수 있습니다. 첫 번째는 bool 또는 boolean 데이터 유형입니다.
부울은 true 또는 false을 나타냅니다. Go 프로그램 중 하나에서이 기능을 어떻게 사용할 수 있는지 살펴 보겠습니다.
var amazing bool
amazing = true
if amazing {
subscribeToChannel()
}
훌륭하고 간단하지만 프로그램 내에서 약간의 부울 논리를 수행하려면 어떻게 될까요? ||그리고 &&연산자를 사용하면 가능합니다!
var isTrue bool = true
var isFalse bool = false
// AND
if isTrue && isFalse {
fmt.Println("Both Conditions need to be True")
}
// OR - not exclusive
if isTrue || isFalse {
fmt.Println("Only one condition needs to be True")
}
문자열
Go 언어 내의 문자열은 우리가 문자 조각이라고 부르는 것입니다. 다음을 사용하여 새 문자열 변수를 선언 할 수 있습니다 string.
var myName string
myName = "Elliot Forbes"
상수
상수는 Go 언어 내의 최종 기본 데이터 유형입니다. 이를 통해 프로그램 실행 과정에서 변경되지 않는 불변 값을 지정할 수 있습니다.
const meaningOfLife = 42