변환 방법: 1. strconv 패키지의 Atoi() 함수를 사용하여 문자열 유형 정수를 int 유형으로 변환합니다. 구문은 "strconv.Atoi(string)"입니다. 2. ParseInt() 함수를 사용합니다. strconv 패키지는 문자열(양수 및 음수 기호 허용)로 표시되는 정수 값을 반환할 수 있으며 구문은 "strconv.ParseInt(string,10,64)"입니다.
이 튜토리얼의 운영 환경: windows10 시스템, GO 1.18, thinkpad t480 컴퓨터.
golang에서 문자열과 다양한 int 유형을 변환하는 방법
string을 int로:
int, err := strconv.Atoi(string)
string을 int64로:
int64, err := strconv.ParseInt(string, 10, 64)
int를 string으로:
string := strconv.Itoa(int)
int64를 string으로:
string := strconv.FormatInt(int64,10)
소개 Go 언어의 strconv(유형 변환)
Go 언어의 strconv
패키지는 기본 데이터 유형과 문자열 표현 간의 상호 변환을 구현합니다. strconv
包实现了基本数据类型和其字符串表示的相互转换。
strconv包
strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()
、Itia()
、parse系列、format系列、append系列。
更多函数请查看官方文档。
string与int类型转换
这一组函数是我们平时编程中用的最多的。
Atoi()
Atoi()
函数用于将字符串类型的整数转换为int类型,函数签名如下。
func Atoi(s string) (i int, err error)
如果传入的字符串参数无法转换为int类型,就会返回错误。
s1 := "100" i1, err := strconv.Atoi(s1) if err != nil { fmt.Println("can't convert to int") } else { fmt.Printf("type:%T value:%#v\n", i1, i1) //type:int value:100 }
Itoa()
Itoa()
函数用于将int类型数据转换为对应的字符串表示,具体的函数签名如下。
func Itoa(i int) string
示例代码如下:
i2 := 200s2 := strconv.Itoa(i2)fmt.Printf("type:%T value:%#v\n", s2, s2) //type:string value:"200"
Parse系列函数
Parse类函数用于转换字符串为给定类型的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。
ParseBool()
func ParseBool(str string) (value bool, err error)
返回字符串表示的bool值。它接受1、0、t、f、T、F、true、false、True、False、TRUE、FALSE;否则返回错误。
ParseInt()
func ParseInt(s string, base int, bitSize int) (i int64, err error)
返回字符串表示的整数值,接受正负号。
base指定进制(2到36),如果base为0,则会从字符串前置判断,”0x”是16进制,”0”是8进制,否则是10进制;
bitSize指定结果必须能无溢出赋值的整数类型,0、8、16、32、64 分别代表 int、int8、int16、int32、int64;
返回的err是*NumErr类型的,如果语法有误,err.Error = ErrSyntax;如果结果超出类型范围err.Error = ErrRange。
ParseUnit()
func ParseUint(s string, base int, bitSize int) (n uint64, err error)
ParseUint
类似ParseInt
strconv 패키지
strconv 패키지는 기본 데이터 유형과 해당 문자열 표현의 변환을 구현합니다.Atoi()
, Itia()< /code >, 계열 구문 분석, 계열 형식 지정, 계열 추가. <p></p>더 많은 기능을 보려면 공식 문서를 확인하세요. <p></p><p></p>문자열 및 정수형 변환<p><strong></strong></p>이 함수 세트는 일상 프로그래밍에서 가장 일반적으로 사용됩니다. <p></p><p>Atoi()<strong><span style="font-size: 18px;"></span><code>Atoi()
함수는 문자열 유형 정수를 int 유형으로 변환하는 데 사용됩니다. func ParseFloat(s string, bitSize int) (f float64, err error)
b, err := strconv.ParseBool("true") f, err := strconv.ParseFloat("3.1415", 64) i, err := strconv.ParseInt("-2", 10, 64) u, err := strconv.ParseUint("2", 10, 64)
Itoa()
함수는 int 유형 데이터를 해당 문자열 표현으로 변환하는 데 사용됩니다.
func FormatBool(b bool) string
func FormatInt(i int64, base int) string
Parse 계열 함수
Parse 클래스 함수는 문자열을 특정 유형의 값으로 변환하는 데 사용됩니다: ParseBool(), ParseFloat(), ParseInt() , ParseUint().ParseBool()
func FormatUint(i uint64, base int) string
ParseInt()
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
base는 밑수(2~36)를 지정합니다. base가 0이면 문자열의 접두사로 판단됩니다. "0x"는 16진수이고, "0"은 8진수입니다.
bitSize는 이를 지정합니다. 결과는 오버플로 없이 할당할 수 있는 정수 유형이어야 합니다. 0, 8, 16, 32 및 64는 각각 int, int8, int16, int32 및 int64를 나타냅니다. 🎜🎜반환된 오류는 *NumErr 유형입니다. 구문이 올바르지 않습니다. err .Error = ErrSyntax; 결과가 유형 범위를 벗어나는 경우 err.Error = ErrRange. 🎜🎜🎜ParseUnit()🎜🎜s1 := strconv.FormatBool(true) s2 := strconv.FormatFloat(3.1415, 'E', -1, 64) s3 := strconv.FormatInt(-2, 16) s4 := strconv.FormatUint(2, 16)
ParseUint
는 ParseInt
와 유사하지만 부호 없는 정수에 사용되는 부호를 허용하지 않습니다. 🎜🎜🎜ParseFloat()🎜🎜func IsPrint(r rune) bool
func CanBackquote(s string) bool
s1 := strconv.FormatBool(true) s2 := strconv.FormatFloat(3.1415, 'E', -1, 64) s3 := strconv.FormatInt(-2, 16) s4 := strconv.FormatUint(2, 16)
其他
isPrint()
func IsPrint(r rune) bool
返回一个字符是否是可打印的,和unicode.IsPrint
一样,r必须是:字母(广义)、数字、标点、符号、ASCII空格。
CanBackquote()
func CanBackquote(s string) bool
返回字符串s是否可以不被修改的表示为一个单行的、没有空格和tab之外控制字符的反引号字符串。
其他
除上文列出的函数外,strconv
包中还有Append系列、Quote系列等函数。具体用法可查看官方文档。
推荐学习:Golang教程
위 내용은 Go 언어에서 문자열을 int 유형으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!