티스토리 뷰

1) 기초 자료 형 

   데이터의 자료형은 자료의 속성을 분류하고, 값이 저장되는 형태를 정의합니다. 

   자료형의 종류에는 

   Boolean, Integer, Float, String, Time과 같은 기초 자료형, 

   Struct, Array, Slice, Map, Channel 등과 같이 구조체 또는 복합형,

   실질적으로 값이 없는 Interface 와 함수를 저장하는 형이 있습니다. 

   이곳에서는 기초 자료 형에 대해서 설명하도록 하겠습니다. 


2) Boolean

 

 package main

 import (
     
"fmt"
     "unsafe"
 )
 func main() {
     
var bValueA bool
     
var bValueB bool = true
     
var bValueC bool = false
     fmt.Println(unsafe.Sizeof(bValueA))    
// 1
     
fmt.Println(bValueA)   // false
     
fmt.Println(bValueB)   // true
     
fmt.Println(bValueC)   // false
 }

   - Boolean 자료형입니다.

     Boolean은 참(true), 거짓(false) 의 값을 가지는 자료형으로, 

     길이는 1 Byte 정수타입입니다. 

     값을 할당하지 않으면, false을 기본값으로 가집니다. 

     관계연산자 ( ==, != )와 논리연산자 ( !, &&, || ) 이용하여

     값을 비교, 계산 할 수 있습니다. 


3) Integer

 

 package main

 import (

    "math" 

    "fmt"

    "unsafe"

 )

 func main() {
    
var iValue int
    var iValue8A = math.MinInt8

    var iValue8B = math.MaxInt8

    var iValue16A = math.MinInt16

    var iValue16B = math.MaxInt16

    var iValue32A = math.MinInt32

    var iValue32B = math.MaxInt32

    var iValue64A = math.MinInt64

    var iValue64B = math.MaxInt64

    var uValue8 = math.MaxUint8

    var uValue16 = math.MaxUint16

    var uValue32 = math.MaxUint32

    var uValue64 uint64 = math.MaxUint6

    fmt.Println(iValue) // 0

    fmt.Println(unsafe.Sizeof(iValue8A)) // 8

    fmt.Println(iValue8A) // -128

    fmt.Println(iValue8B) // 127

    fmt.Println(iValue16A) // -32768

    fmt.Println(iValue16B) // 32767

    fmt.Println(iValue32A) // -2147483648

    fmt.Println(iValue32B) // 2147483647

    fmt.Println(iValue64A) // -9223372036854775808

    fmt.Println(iValue64B) // 9223372036854775807

    fmt.Println(uValue8) // 255

    fmt.Println(uValue16) // 65536

    fmt.Println(uValue32) // 4294967295

    fmt.Println(uValue64) // 18446744073709551615

 }

   - Integer 자료형 입니다. 

     정수 값을 가지며 소수점 이하가 없는 자료형입니다. 

     초기값을 할당하지 않으면 기본값 0 을 가집니다. 

     부호있는 정수형(Signed integer)와 부호없는 정수형(Unsigned integer)로

     나누어 지며, 부호없는 정수형에는 int, int8, int16, int32, int64가 있으며,

     부호 있는 정수형에는 uint, uint8, uint16, uint32, uint64가 있습니다. 

     자료형의 크기는 

     int8 (-128 ~ 127)

     int16 (-32,768 ~ 32,767) 

     int32 (-2,147,483,648~2,147,483,647)

     int64(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)

     uint8 (0 ~ 255)

     uint16 (0 ~ 65,535)

     uint32 (0 ~ 4,294,967,295)

     uint64 (0 ~ 18,446,744,073,709,551,615) 입니다. 

     한가지 주의 할 점은 uint64 만 암시적 선언이 지원하지 않는 버그가 있는듯 

     합니다. 제가 Test 한 버전은 1.6 버젼 이었습니다. 


4) Float, Complex

 

 package main

 import (

   "math"

   "fmt"

   "unsafe"

 )

 func main() {

   var fValue float32

   var fValue32 = math.MaxFloat32

   var fValue64 = math.MaxFloat64

   var cValue64 complex64

   var cValue128 complex128 = 1 + 10i

   fmt.Println(fValue) // 0

   fmt.Println(unsafe.Sizeof(fValue)) // 4

   fmt.Println(fValue32) // 3.4028234663852886e+38

   fmt.Println(fValue64) // 1.7976931348623157e+308   

   fmt.Println(cValue64) // 0+0i

   fmt.Println(unsafe.Sizeof(cValue64)) // 8

   fmt.Println(unsafe.Sizeof(cValue128)) // 16

   fmt.Println(cValue128) // 1 + 10i

 }

   - Float 자료형 입니다. 

     정수부와 소수 부를 함께 가지는 자료형입니다. 

     초기값을 할당하지 않으면 기본값 0 을 가집니다. 

     부동 소숫점은 일정한 크기를 가지며, 크기가 큰 부동 소숫점 수를 

     사용할 수록 정확한 값을 표현할 수 있습니다. 

     부동 소숫점의 크기는 

     float32 (±10-45 ~ ±3.4×1038)

     float64 (±5×10-324 ~ ±1.7×10308) 입니다.


   - Complex 자료형입니다. 

     실수부와 허수부를 함께 가지는 자료형입니다. 

     초기값을 할당하지 않으면 기본값은 0+0i 값을 가집니다. 

     복소수의 크기는 

     complex64 (8Byte Float)

     complex128 (16Byte Float) 입니다. 


'GO Language' 카테고리의 다른 글

[GO] JWT Library  (0) 2017.05.26
[GO] 문자열 (Strings)  (0) 2016.08.26
[GO] 변수(Variables)  (0) 2016.08.22
[GO] 상수(Constants)  (0) 2016.08.22
[GO] 언어의 기본 구성  (0) 2016.08.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함