変換方法: 1. strconv パッケージの Atoi() 関数を使用して、"strconv.Atoi(string)" という構文で string 型の整数を int 型に変換します。 strconv パッケージの Atoi() 関数 ParseInt() 関数は、文字列 (正負の符号を受け入れる) で表される整数値を返すことができ、構文は「strconv.ParseInt(string,10,64)」です。
このチュートリアルの動作環境: Windows10 システム、GO 1.18、thinkpad t480 コンピューター。
golang で文字列をさまざまな int 型に変換する方法
文字列を int に変換します:
int, err := strconv.Atoi(string)
string を int64 に変換します:
int64, err := strconv.ParseInt(string, 10, 64)
int から文字列へ:
string := strconv.Itoa(int)
int64 から文字列へ:
string := strconv.FormatInt(int64,10)
Go 言語 strconv (型変換) はじめに
Go 言語の strconv
パッケージは、基本データ型とその文字列表現の間の相互変換を実装します。
strconv パッケージ
strconv パッケージは、基本的なデータ型とその文字列表現の変換を実装しており、主に次の共通関数があります。 ##Atoi ()、
Itia()、解析シリーズ、フォーマットシリーズ、追加シリーズ。
String 型と int 型の変換
この一連の関数は、日常のプログラミングで最もよく使用されます。Atoi()
Atoi() 関数は、
string 型整数を 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() 関数は、i
nt 型データを対応する文字列に変換するために使用されますつまり、特定の関数シグネチャは次のとおりです。
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)文字列で表されるブール値を返します。 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 を表します。返されたエラーは *NumErr 型です。構文が間違っている場合は err.Error = ErrSyntax、結果が型の範囲を超えている場合は err.Error = ErrRange になります。
ParseUnit()
func ParseUint(s string, base int, bitSize int) (n uint64, err error)ParseUint
ParseInt と似ていますが、符号を受け入れず、符号なし整数に使用されます。
ParseFloat()
func ParseFloat(s string, bitSize int) (f float64, err error)浮動小数点数を表す文字列を解析し、その値を返します。 s が文法規則に準拠している場合、関数は s で表される値に最も近い浮動小数点数を返します (IEEE754 標準の丸めを使用)。 bitSize は予想される受信タイプを指定します、32 は float32 (戻り値は正確な値を変更せずに float32 に割り当てることができます)、64 は float64; 戻り値 err は *NumErr ですtype、構文が正しくない場合は err.Error=ErrSyntax、結果が表現範囲を超える場合、戻り値 f は ±Inf となり、err.Error=ErrRange になります。
コード例
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)これらの関数には 2 つの戻り値があります。最初の戻り値は変換された値であり、2 番目の戻り値は変換された値です。エラー メッセージ。 Format シリーズ関数
Format シリーズ関数は、指定された型のデータを文字列型データにフォーマットする機能を実装します。
FormatBool()
func FormatBool(b bool) stringb の値に応じて「true」または「false」を返します。
FormatInt()
func FormatInt(i int64, base int) stringi の基本文字列表現を返します。基数は 2 ~ 36 である必要があり、10 より大きい数値を表すために結果では小文字の「a」~「z」が使用されます。
FormatUint()
func FormatUint(i uint64, base int) stringは、FormatInt の符号なし整数バージョンです。
FormatFloat()
func FormatFloat(f float64, fmt byte, prec, bitSize int) stringこの関数は、浮動小数点数を文字列として表し、それを返します。 bitSize は f のソース タイプ (32: float32、64: float64) を表し、それに応じて丸められます。 fmt 表現形式: 'f' (-ddd.dddd)、'b' (-ddddp±ddd、指数は 2 進数)、'e' (-d.dddde±dd、10 進指数)、' E' (-d.ddddE±dd、10 進指数)、'g' (指数が非常に大きい場合は 'e' 形式を使用し、それ以外の場合は 'f' 形式を使用します)、'G' (指数が大きい場合は 'E' 形式を使用します)非常に大きい、それ以外の場合は「f」形式)。 prec は精度を制御します (指数部を除く): 'f'、'e'、 'E' の場合は小数点以下の桁数を表し、'g'、'G' の場合は小数点以下の桁数を表します。 、合計の桁数を制御します。 prec が -1 の場合、f を表すために必要な最小数の数値を使用することを意味します。
コード例
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 中国語 Web サイトの他の関連記事を参照してください。