개발/Go

[Go] 기초 - 데이터 타입

devhooney 2022. 7. 13. 12:22
728x90

1. Go 데이터 타입

- Go는 하단의 데이터 타입을 가지고 있다.

(1) 불리언 타입

bool

(2)문자열 타입

string - string은 한 번 생성되면 수정될 수 없는 Immutable 타입

(3) 정수형타입

int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr

(4) Float 및 복소수 타입

float32 float64 complex64 complex128

(5) 기타 타입

byte -  uint8과 동일하며 바이트 코드에 사용
rune - int32과 동일하며 유니코드 코드포인트에 사용

 

2. 문자열

- 문자열은 `, "으로 감싸서 사용

(1) Back Quote (` `)로 둘러 싸인 문자열은 Raw String Literal이라 부르는데, 이 안에 있는 문자열은 별도로 해석되지 않고 Raw String 그대로의 값을 갖는다. 예를 들어, 문자열 안에 \n 이 있을 경우 이는 NewLine으로 해석되지 않는다. 또한, Back Quote은 복수 라인의 문자열을 표현할 때 자주 사용된다.

(2) 이중인용부호(" ")로 둘러 싸인 문자열은 Interpreted String Literal이라 부르는데, 복수 라인에 걸쳐 쓸 수 없으며, 인용부호 안의 Escape 문자열들은 특별한 의미로 해석된다. 예를 들어, 문자열 안에 \n 이 있을 경우 이는 NewLine으로 해석된다. 이중인용부호를 이용해 문자열을 여러 라인에 걸쳐 쓰기 위해서는 + 연산자를 이용해 결합하여 사용한다.

 

package main
 
import "fmt"
 
func main() {
    // Raw String Literal. 복수라인.
    rawLiteral := `abc\n
                    def\n
                    123`
 
    // Interpreted String Literal
    interLiteral := "abc\ndef"
    // 아래와 같이 +를 사용하여 두 라인에 걸쳐 사용할 수도 있다.
    // interLiteral := "abc\n" + 
    //                 "def"   
 
    fmt.Println(rawLiteral)
    fmt.Println()
    fmt.Println(interLiteral)
}
 
// rawLiteral
abc\n
dev\n
123

// interLiteral
abc
def

 

3. 데이터 타입 변환

package main
 
import "fmt"

func main() {
    var i int = 100
    var u uint = uint(i)
    var f float32 = float32(i)  
    println(f, u)
 
    str := "ABC"
    bytes := []byte(str)
    str2 := string(bytes)
    println(bytes, str2)
}

 

참고사이트

http://golang.site/go/article/5-Go-%EB%8D%B0%EC%9D%B4%ED%83%80-%ED%83%80%EC%9E%85

 

예제로 배우는 Go 프로그래밍 - Go 데이타 타입

1. Go 데이타 타입 Go 프로그래밍 언어는 다음과 같은 기본적인 데이타 타입들을 갖고 있다. 부울린 타입 bool 문자열 타입 string: string은 한번 생성되면 수정될 수 없는 Immutable 타입임 정수형 타입 i

golang.site

 

https://go.dev/

 

The Go Programming Language

DevOps & Site Reliability With fast build times, lean syntax, an automatic formatter and doc generator, Go is built to support both DevOps and SRE.

go.dev

 

728x90

'개발 > Go' 카테고리의 다른 글

[Go] 기초 - 함수  (0) 2022.07.17
[Go] 기초 - 반복문  (0) 2022.07.17
[Go] 기초 - 조건문  (0) 2022.07.15
[Go] 기초 - 연산자  (0) 2022.07.13
[Go] 기초 - 변수와 상수  (0) 2022.07.12