변환 방법: 1. Atoi()를 사용하여 문자열 유형 정수를 int 유형으로 변환합니다. 구문은 "strconv.Atoi(str)"입니다. 2. ParseInt()를 사용하여 문자열을 정수 값으로 변환합니다. 양수 및 음수 기호, "strconv.ParseInt(str,10,64)" 구문; 3. ParseUnit()을 사용하여 문자열을 정수 값으로 변환하고 양수 및 음수 기호를 허용하지 않습니다. 구문 "strconv.ParseUint( str,10,64)”.
이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.
Go 언어의 strconv 패키지는 기본 데이터 유형과 문자열 표현 간의 상호 변환을 구현합니다.
strconv 패키지는 기본 데이터 유형 및 해당 문자열 표현의 변환을 구현합니다. 여기에는 주로 일반적으로 사용되는 Atoi(), Itia(), 구문 분석 시리즈, 형식 시리즈 및 추가 시리즈가 포함됩니다.
다음은 문자열을 정수로 변환하는 여러 함수를 소개합니다.
Atoi()
Atoi()
함수는 문자열 유형의 정수를 int 유형으로 변환하는 데 사용됩니다.
func Atoi(s string) (i int, err error)
들어오는 문자열 매개변수를 int 유형으로 변환할 수 없는 경우 오류가 반환됩니다.
package main import "fmt" import "strconv" func main() { s1 := "100" i, err := strconv.Atoi(s1) if err != nil { fmt.Println("can't convert to int") } else { fmt.Printf("type:%T value:%#v\n", i, i) //type:int value:100 } }
Parse 시리즈 함수
Parse 클래스 함수는 문자열을 특정 유형의 값(ParseBool(), ParseFloat(), ParseInt(), ParseUint()))으로 변환하는 데 사용됩니다. 그 중 ParseInt()와 ParseUnit()은 문자열을 정수로 변환하는 데 사용됩니다.
ParseInt()
ParseInt()는 문자열을 숫자로 변환하는 함수입니다.
func ParseInt(s string, base int, bitSize int) (i int64, err error)
양수 및 음수 기호를 허용하여 문자열이 나타내는 정수 값을 반환합니다.
base는 진수(2~36)를 지정합니다. base가 0이면 문자열의 접두사로 판단됩니다. "0x"는 16진수이고, 그렇지 않으면 10진수입니다.
bitSize는 결과가 오버플로 없이 할당되어야 하는 정수 유형을 지정합니다. 0, 8, 16, 32 및 64는 각각 int, int8, int16, int32 및 int64를 나타냅니다.func ParseUint(s string, base int, bitSize int) (n uint64, err error)
예:
package main import "fmt" import "strconv" func main() { i, err1 := strconv.ParseInt("-2", 10, 64) u, err2 := strconv.ParseUint("2", 10, 64) if err1 != nil { fmt.Println("can't convert to int") } else { fmt.Printf("type:%T value:%#v\n", i, i) //type:int64 value:2 } if err2 != nil { fmt.Println("can't convert to int") } else { fmt.Printf("type:%T value:%#v\n", u, u) //type:uint64 value:0x2 } }
ParseInt() 및 ParseUnit() 함수에는 모두 두 개의 반환 값이 있습니다. 첫 번째 반환 값은 변환된 값이고 두 번째 반환 값은 변환 실패에 대한 오류 메시지입니다.
확장된 지식: go의 정수Go 언어는 int8, int16, int32 및 int64를 포함하여 부호 있는 정수 유형과 부호 없는 정수 유형을 모두 제공하며 크기는 완전히 다른 8, 16에 해당합니다. , 32 및 64비트(이진 비트) 크기이며 각각 uint8, uint16, uint32 및 uint64의 4가지 부호 없는 정수 유형에 해당합니다.
또한 특정 CPU 플랫폼의 단어 길이(머신어 크기)에 각각 해당하는 int와 uint라는 두 가지 정수 유형이 있습니다. Int는 가장 널리 사용되는 부호 있는 정수를 나타내고 uint는 부호 없는 정수. 실제 개발에서는 컴파일러와 컴퓨터 하드웨어의 차이로 인해 int와 uint가 나타낼 수 있는 정수 크기가 32비트 또는 64비트 사이에서 달라집니다. 대부분의 경우 루프 카운터(루프 수를 제어하는 for 루프의 변수), 배열 및 슬라이스에 대한 인덱스, 범용 정수 연산자(보통 int)에 사용할 수 있는 정수 유형만 필요합니다. type은 처리 속도도 가장 빠릅니다. 유니코드 문자를 나타내는 데 사용되는 룬 유형은 int32 유형과 동일하며 일반적으로 유니코드 코드 포인트를 나타내는 데 사용됩니다. 두 이름은 서로 바꿔서 사용할 수 있습니다. 마찬가지로 byte와 uint8도 동일한 유형입니다. 바이트 유형은 일반적으로 값이 작은 정수가 아닌 원시 데이터임을 강조하기 위해 사용됩니다. 마지막으로 특정 비트 크기를 지정하지 않지만 포인터를 수용할 수 있을 만큼 큰 부호 없는 정수 유형 uintptr이 있습니다. uintptr 유형은 낮은 수준의 프로그래밍에만 필요하며, 특히 Go 언어가 C 언어 함수 라이브러리 또는 운영 체제 인터페이스와 상호 작용하는 경우에는 더욱 그렇습니다. int, uint 및 uintptr의 크기는 일부 특정 운영 환경에서 동일할 수 있지만 int 및 int32와 같이 여전히 다른 유형입니다. 변환이 필요한 경우 int 유형의 크기도 32비트일 수 있습니다. int 유형은 int32 유형으로 사용될 때 명시적으로 변환되어야 하며 그 반대의 경우도 마찬가지입니다. Go 언어의 부호 있는 정수는 2의 보수 형식으로 표현됩니다. 즉, 가장 높은 비트가 부호 비트를 나타내는 데 사용됩니다. n 비트 부호 있는 숫자의 값 범위는 -2(n-1)부터 2입니다. (n-1)-1. 부호 없는 정수의 모든 비트는 음수가 아닌 숫자를 나타내는 데 사용되며 값 범위는 0에서 2n-1입니다. 예를 들어 int8 유형 정수의 범위는 -128부터 127까지이고 uint8 유형 정수의 범위는 0부터 255까지입니다.【관련 추천: Go 비디오 튜토리얼, 프로그래밍 교육】
위 내용은 golang에서 문자열을 정수로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!