golang - strconv.ParseInt strconv.Atoi strconv.FormatInt strconv.Itoa 정수 문자열 변환
이 름 : 바다아이
|
조회수 : 8799
짧은 주소 : https://www.bada-ie.com/su/?271591802826
ParseInt, strconv. A string contains digit characters like "123." We can convert this string to a number, an int, with the ParseInt method. Other options. With Atoi we have a simpler way to call ParseInt. These methods return two values: the parsed integer itself, and an error code. Example, ParseInt. Let us begin with this simple example. We import the strconv package at the top. We call ParseInt with three arguments—the first is the string.
Argument 2:This is the base of the string being parsed. Most numbers we use are base 10.
Argument 3:This is the bit size of the resulting int. 0 means int, while 6 (for example) means int16, with 16 bits.
Based on: Golang 1.7
Golang program that uses strconv.ParseInt
package main
import (
"fmt"
"strconv"
)
func main() {
value := "123"
// Convert string to int.
number, _ := strconv.ParseInt(value, 10, 0)
// We now have an int.
fmt.Println(number)
if number == 123 {
fmt.Println(true)
}
}
Output
123
true
Atoi. This function bears the same name as the one from the C standard library. In Go it invokes ParseInt with a base of 10 and a bit size of 0.
Tip:The Atoi call here is simpler than ParseInt. This gives it an advantage in readability in programs.
Golang program that uses Atoi
package main
import (
"fmt"
"strconv"
)
func main() {
value := "456"
// Use Atoi to parse string.
number, _ := strconv.Atoi(value)
fmt.Println(number)
fmt.Println(number + 1)
}
Output
456
457
FormatInt. With this method, we convert an int to a string. This is the opposite conversion as ParseInt. With FormatInt, we must pass an int64 value—we cast in this example.
Golang program that uses strconv.FormatInt
package main
import (
"fmt"
"strconv"
)
func main() {
value := 1055
// Convert int to string with FormatInt.
// ... First convert to int64.
result := strconv.FormatInt(int64(value), 10)
fmt.Println(result)
if result == "1055" {
fmt.Println(true)
}
}
Output
1055
true
Itoa. This method converts an int into a string. It calls FormatInt with a base of 10. It also accepts a simple int, not an int64, so less casting may be required.
Note:Unlike ParseInt and Atoi, FormatInt and Itoa do not return an error value. They succeed on all possible arguments.
Golang program that uses Itoa, converts int to string
package main
import (
"fmt"
"strconv"
)
func main() {
value := 700
// Use Itoa on an int.
result := strconv.Itoa(value)
fmt.Println(result)
// The string has 3 characters.
fmt.Println(len(result))
}
Output
700
3
ParseInt benchmark. Often we need to convert a string into an integer. This benchmark compares ParseInt and Atoi. It converts "1234" into an integer with each method.
Result:No big performance differences were found. The methods performed about the same.
So:The best method to use is the one that has the correct behavior on all the data you want to convert.
Golang program that benchmarks ParseInt, Atoi
package main
import (
"fmt"
"strconv"
"time"
)
func main() {
t0 := time.Now()
original := "1234";
// Version 1: use ParseInt.
for i := 0; i < 1000000; i++ {
result, _ := strconv.ParseInt(original, 10, 0)
if result != 1234 {
return
}
}
t1 := time.Now()
// Version 2: use Atoi.
for i := 0; i < 1000000; i++ {
result, _ := strconv.Atoi(original)
if result != 1234 {
return
}
}
t2 := time.Now()
// Results of benchmark.
fmt.Println(t1.Sub(t0))
fmt.Println(t2.Sub(t1))
}
Results15.637ms ParseInt
15.625ms Atoi
출처 : https://www.dotnetperls.com/parseint-go
|
|
번 호
카테고리
제 목
이름
조회수
Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천 실행시간 : 0.07325 초 to webmaster... gogo sea. gogo sea.