Go에는 기본적인 타입이 있습니다.
Go는 선언되었지만 값이 할당되지 않은 변수들에 제로 값(zero value)을 할당합니다.
bool 타입의 변수는 true, false 중에 하나의 값을 가집니다. 제로 값은 false.
package main
import "fmt"
func main() {
var zeroBool bool
var isXXX = true
fmt.Println("zeroBool's zero value is", zeroBool)
fmt.Println("isXXX is", isXXX)
}
zeroBool's zero value is false
isXXX is true
2-1. 정수
Go는 1~4바이트의 크기를 가지는 정수를 제공합니다.
모든 정수 타입의 제로 값은 0입니다.
Go는 특수한 정수 타입이 있는데요. byte, int, uint입니다.
정수를 사용할 때, 성능이나 특정 목적이 없다면 int를 사용하면 됩니다.
2-2. 부동 소수
Go의 부동 소수 타입에는 float32와 float64가 있습니다.
아래의 링크를 참고하면 최대 절대값, 최소 절대값을 확인 할 수 있습니다.
https://www.w3schools.com/go/go_float_data_type.php
저장 용량을 고려하여 둘 중 하나를 선택하시면 되겠습니다.
부동 소수 타입은 부정확하기 때문에 상황을 고려하여 사용하셔야 합니다.
부동 소수 타입의 제로 값은 0입니다.
2-3. 복소수
Go에는 두 개의 복소수 타입이 있습니다.
complex64와 complex128인데요.
complex64는 실수부, 허수부를 표현할 때 float32를 사용하고, complex128은 float64를 사용합니다.
제로 값은 실수부, 허수부 모두 0.
package main
import "fmt"
func main() {
x := complex(2, 3)
var y complex128 = 2.756 + 10i
fmt.Println("x", real(x), imag(x))
fmt.Println("y", real(y), imag(y))
}
x 2 3
y 2.756 10
Go는 유니코드를 지원하기 때문에 문자열에 모든 유니코드 문자를 넣을 수 있습니다.
문자열 간에 비교도 가능하고, 연결도 가능합니다.
문자열의 제로 값은 빈 값입니다.
package main
import "fmt"
func main() {
var sHello string
fmt.Println("sHello's zero value :", sHello)
sHello = "Hello!"
var sWorld string = "world"
fmt.Println(sHello == sWorld)
var sHelloWorld = sHello + sWorld
fmt.Println(sHelloWorld)
sHello = "world"
fmt.Println(sHello == sWorld)
}
sHello's zero value :
false
Hello!world
true
Go - 복합 타입 (1) (0) | 2022.11.03 |
---|---|
Go - 기본적인 데이터 타입과 선언 (2) (0) | 2022.11.02 |
zlib을 이용한 데이터 압축 (0) | 2022.10.09 |
Go를 이용하여 가볍게 알아보는 Base64 (0) | 2022.06.10 |
댓글 영역