PHpullh
학습 라이브러리/Go/기본 타입 & 타입 변환

GO · 기초 문법

기본 타입 & 타입 변환

Go의 정적 타입 시스템. 암시적 타입 변환이 없어 모든 변환을 명시해야 합니다.

기초 문법입문intfloat64runebytestrconv

핵심 설명

Go의 정적 타입 시스템. 암시적 타입 변환이 없어 모든 변환을 명시해야 합니다.

Go code

package main

import (
	"fmt"
	"strconv"
)

func main() {
	// 정수 타입
	var i8  int8   = 127
	var i32 int32  = 2_147_483_647
	var i64 int64  = 9_223_372_036_854_775_807
	var u   uint   = 255

	// 부동소수점
	var f32 float32 = 3.14
	var f64 float64 = 3.141592653589793

	// 타입 변환 — 반드시 명시적
	a := 42
	b := float64(a)     // int → float64
	c := int(f64)       // float64 → int (소수점 버림)
	d := uint(a)        // int → uint

	// 문자열 변환 (strconv 패키지)
	n, err := strconv.Atoi("42")        // string → int
	if err != nil {
		fmt.Println("변환 실패:", err)
	}
	s := strconv.Itoa(100)              // int → string
	f, _ := strconv.ParseFloat("3.14", 64) // string → float64
	bs := strconv.FormatBool(true)      // bool → string

	// rune = int32 (유니코드 코드포인트)
	var r rune = '한'
	fmt.Printf("rune: %c (%d)
", r, r)

	// byte = uint8
	var by byte = 'A'
	fmt.Printf("byte: %c (%d)
", by, by)

	_ = i8; _ = i32; _ = i64; _ = u
	_ = f32; _ = b; _ = c; _ = d
	_ = n; _ = s; _ = f; _ = bs
}

학습 팁

int의 크기는 플랫폼에 따라 32bit 또는 64bit입니다. 크기가 중요한 경우 int32/int64를 명시하세요.

주의할 점

string(65)는 "65"가 아니라 "A"를 반환합니다(rune 변환). 정수를 문자열로 변환하려면 반드시 strconv.Itoa()를 사용하세요.

자주 묻는 질문

기본 타입 & 타입 변환란 무엇인가요?

Go의 정적 타입 시스템. 암시적 타입 변환이 없어 모든 변환을 명시해야 합니다.

기본 타입 & 타입 변환 학습 시 주의할 점은 무엇인가요?

string(65) 는 "65"가 아니라 "A"를 반환합니다(rune 변환). 정수를 문자열로 변환하려면 반드시 strconv.Itoa() 를 사용하세요.