Go 문자열 변환❓

beluga000·2024년 8월 2일
post-thumbnail

Go언어의 문자열 변환 함수

다양한 패키지에서 문자열 변환 기능을 제공하지만 주로 strconv, fmt를 사용합니다.

strconv 패키지

strconv 패키지는 문자열을 다른 데이터 타입으로 변환하거나, 다른 데이터 타입을 문자열로 변환하는 함수를 제공합니다.

문자열을 다른 타입으로 변환

  1. 문자열(String)을 정수(int)로 변환 - Atoi
str := 123
num, _ := strconv.Atoi(str)
  1. 문자열(String)을 불리언(boolean) 값으로 변환 - ParseBool
str := "true"
b, _ := strconv.ParseBool(str)
  1. 문자열(String)을 부동 소수점 숫자(float)로 변환 - ParseFloat
str := "3.1415"
f, _ := strconv.ParseFloat(str, 64)
  1. 문자열(String)을 정수형(Int)으로 변환 - ParseInt
str := "123"
num, _ := strconv.ParseInt(str, 10, 64)

다른 타입을 문자열로 변환

  1. 정수(Int)를 문자열(String)으로 변환 - Itoa
num := 123
str := strconv.Itoa(num)
  1. 불리언(Boolean)값을 문자열(String)으로 변환 - FormatBool
b := true
str := strconv.FormatBool(b)
  1. 부동 소수점 숫자(Float)를 문자열(String)로 변환 - FormatFloat
f := 3.1415
str := strconv.FormatFloat(f, 'f', 4, 64)
  1. 정수(Int)를 문자열(String)로 변환 - FormatInt
num := int64(123)
str := strconv.FormatInt(num, 10)
  1. 부호 없는 정수를 문자열(String)로 변환 - FormatUint
num := uint64(123)
str := strconv.FormatUint(num, 10)

fmt 패키지

fmt 패키지는 형식을 지정하여 문자열로 변환하거나 문자열을 다른 타입으로 변환하는 다양한 기능을 제공합니다.

  1. 형식을 지정하여 문자열로 변환 - Sprintf
num := 123
str := fmt.Sprintf("%d", num)
fmt.Println(str) // "123"
  1. 형식을 지정하지 않고 문자열로 변환 - Sprint
num := 123
str := fmt.Sprint(num)
fmt.Println(str) // "123"
  1. 형식을 지정하지 않고 문자열로 변환하며, 끝에 개행 문자를 추가 - Sprintln
num := 123
str := fmt.Sprintln(num)
fmt.Println(str) // "123\n"
  1. 형식을 지정하여 문자열을 다른 타입으로 변환 - Sscanf
str := "123"
var num int
_, err := fmt.Sscanf(str, "%d", &num)
if err != nil {
	fmt.Println(err)
} else {
	fmt.Println(num)	// 123
}
profile
Developer

0개의 댓글