안녕하세요.
오늘은 Golang에서 숫자(int)인 문자열을 숫자(int)로 변경하기 등 자주 사용되는 data parsing 방법에 대해서 알아보겠습니다.
package main
import (
"fmt"
"reflect"
"strconv"
)
func main() {
fmt.Println("say hi")
// 1. int to string - 숫자(정수)를 문자열로 변환
a := strconv.Itoa(100)
fmt.Println("a: ", a) // a: 100
fmt.Println("type a: ", reflect.TypeOf(a)) // type a: string
// 1-1. int to string - 100을 10진수 문자열로 변환
aa := strconv.FormatInt(100, 10)
fmt.Println("aa: ", aa) // aa: 100
fmt.Println("type aa: ", reflect.TypeOf(aa)) // type aa: string
// 2. string to int - 문자열을 숫자(정수) 변환
b, _ := strconv.Atoi("100")
fmt.Println("b: ", b) // b: 100
fmt.Println("type b: ", reflect.TypeOf(b)) // type b: int
bb, _ := strconv.ParseInt("100", 10, 64)
fmt.Println("bb: ", bb) // bb: 100
fmt.Println("type bb: ", reflect.TypeOf(bb)) // type bb: int64
// 3. bool to string - 불을 문자열로 변환
c := strconv.FormatBool(true)
fmt.Println("c: ", c) // c: true
fmt.Println("type c: ", reflect.TypeOf(c)) // type c: string
// 4. flot to string - 숫자(실수)를 문자열로 변환
d := strconv.FormatFloat(1.3, 'f', -1, 32)
fmt.Println("d: ", d) // d: 1.3
fmt.Println("type d: ", reflect.TypeOf(d)) //type d: string
// 5. int -> int32, int32 -> int64
var e int = 11
f := int32(e)
fmt.Println("f: ", f) // f: 11
fmt.Println("type f: ", reflect.TypeOf(f)) // type f: int32
g := int64(f)
fmt.Println("g: ", g) // g: 11
fmt.Println("type g: ", reflect.TypeOf(g)) // type g: int64
}
결과 :
say hi
a: 100
type a: string
aa: 100
type aa: string
b: 100
type b: int
bb: 100
type bb: int64
c: true
type c: string
d: 1.3
type d: string
f: 11
type f: int32
g: 11
type g: int64
모두 즐거운 코딩하세요~
출처 : https://ithub.tistory.com/331
|