import "strconv"

strconvパッケージは、文字列と基本データ型の双方向変換を実装しています。

パッケージファイル

atob.go atof.go atoi.go decimal.go ftoa.go itoa.go quote.go

変数

FloatSizeは、float型のサイズで32または64です。

var FloatSize = floatsize()
var IntSize = computeIntsize()

Atob関数

func Atob(str string) (value bool, err os.Error)

Atobは、文字列で表されている論理値を返します。1、t、T、TRUE、true、0、f、F、FALSE、falseを受け付けます。それ以外の値のときはエラーを返します。

Atof関数

func Atof(s string) (f float, err os.Error)

Atofは、floatのサイズによってAtof32またはAtof64を呼び出します。

Atof32関数

func Atof32(s string) (f float32, err os.Error)

Atof32は、文字列sを32ビット浮動小数点に変換します。

sの形式が正しく、ほぼ有効な浮動小数点であれば、「IEEE754バイアスなし丸め」を使用して丸めた浮動小数点を返します。

Atof32が返すエラーの実際の型は*NumError型で、err.Numにsが設定されます。

sに構文的な誤りがあるときは、Atof32はerr.Error = os.EINVALを返します。

sが構文的には正しいが、与えられたサイズの浮動小数点の最大値より1/2 ULP以上大きいときは、f = ±Inf、 err.Error = os.ERANGEを返します。

Atof64関数

func Atof64(s string) (f float64, err os.Error)

Atof64は、文字列sを64ビット浮動小数点に変換します。戻り値の型以外はAtof32と同じです。

AtofN関数

func AtofN(s string, n int) (f float64, err os.Error)

AtofNは、文字列sを64ビット浮動小数点に変換します。ただし、nビット(32または64)の値に格納されると仮定して結果を丸めます。

Atoi関数

func Atoi(s string) (i int, err os.Error)

Atoiは、Atoi64と同じですが、戻り値はint型です。

Atoi64関数

func Atoi64(s string) (i int64, err os.Error)

Atoi64は、Atoui64と同じですが、符号を取り扱い、int64型を返します。

Atoui関数

func Atoui(s string) (i uint, err os.Error)

Atouiは、Atoui64と同じですが、戻り値はuint型です。

Atoui64関数

func Atoui64(s string) (n uint64, err os.Error)

Atoui64は、文字列sを10進数として解釈し、それに対応した値nを返します。

Atoui64は、文字列sが空もしくは不正な数字を含んでいるときにerr == os.EINVALを返します。また値がuint64型で表せないときはerr == os.ERANGEを返します。

Btoa関数

func Btoa(b bool) string

Btoaは、引数の論理値の値に従い、”true”または”false”を返します。

Btoi64関数

func Btoi64(s string, base int) (i int64, err os.Error)

Btoi64は、Btoui64と同じですが、符号を取り扱い、int64型を返します。

Btoui64関数

func Btoui64(s string, b int) (n uint64, err os.Error)

Btoui64は、文字列sを任意の基数(2~36)で解釈し、それに対応した値nを返します。b == 0のときは、基数は文字列内のプレフィックスが使われます。(“0x”のとき16進数、”0″のとき8進数, それ以外は10進数)

Btoui64が返すエラーの実際の型は*NumError型で、err.Numにsが設定されます。文字列sが空もしくは不正な数字を含んでいるときにerr == os.EINVALを返します。また値がuint64型で表せないときはerr == os.ERANGEを返します。

CanBackquote関数

func CanBackquote(s string) bool

CanBackquoteは、文字列sがバッククォートでくくられたときに、有効なGoの文字列リテラルとなるかどうかを返します。

Ftoa関数

func Ftoa(f float, fmt byte, prec int) string

Ftoaは、float型のサイズに従いFtoa32またはFtoa64として振舞います。

Ftoa32関数

func Ftoa32(f float32, fmt byte, prec int) string

Ftoa32は、32ビット浮動小数点fをフォーマットfmtと精度precを使用して文字列に変換します。

このフォーマットfmtは、’b’ (-ddddp±ddd、バイナリ指数)、’e’ (-d.dddde±dd、10進指数)、’f’ (-ddd.dddd、指数なし)、’g’ (eかfの短い方)のいずれかです。

この精度precは、フォーマット’e'、’f'、’g'の数字の桁数を制御します。(指数を除く) これは、’e'と’f'のときは小数点以下の数字の桁数で、’g'のときはトータルの桁数です。特殊な精度-1は、Atof32が返す値と同じように必要最小の桁数を使用します。

Ftoa32(f)は、Ftoa64(float32(f))と同じではありません。これは丸めおよび数字の桁数がfの型に依存しているためです。

Ftoa64関数

func Ftoa64(f float64, fmt byte, prec int) string

Ftoa64は、Ftoa32と同じですが、64ビット浮動小数点を変換します。

FtoaN関数

func FtoaN(f float64, fmt byte, prec int, n int) string

FtoaNは、64ビット浮動小数点fを、フォーマットfmtと精度precによって文字列に変換します。ただし、nビット(32または64)の浮動小数点の値から得られたと仮定して結果を丸めます。

Itoa関数

func Itoa(i int) string

Itoaは、iを表す10進数文字列を返します。

Itoa64関数

func Itoa64(i int64) string

Itoa64は、iを表す10進数文字列を返します。

Itob関数

func Itob(i int, base uint) string

Itobは、指定した基数でiを表す文字列を返します。

Itob64関数

func Itob64(i int64, base uint) string

Itob64は、指定した基数でiを表す文字列を返します。

Quote関数

func Quote(s string) string

Quoteは、sをダブルクォートでくくられたGoの文字列リテラル表現で返します。返される文字列には、コントロール文字や非アスキー文字に対してはGo言語のエスケープシーケンス(\t, \n, \xFF, \u0100)が使われます。

Uitoa関数

func Uitoa(i uint) string

Uitoaは、iを表す10進数文字列を返します。

Uitoa64関数

func Uitoa64(i uint64) string

Uitoa64は、iを表す10進数文字列を返します。

Uitob関数

func Uitob(i uint, base uint) string

Uitobは、指定した基数でiを表す文字列を返します。

Uitob64関数

func Uitob64(u uint64, base uint) string

Uitob64は、指定した基数でiを表す文字列を返します。

Unquote関数

func Unquote(s string) (t string, err os.Error)

Unquoteは、文字列sをシングルクォート、ダブルクォート、バッククォートでくくられたGo言語の文字列リテラルとして解釈し、解釈した文字列を返します。(sがシングルクォートされているときはGo言語の文字リテラルなので、それに対応した一文字の文字列が返されます。)

UnquoteChar関数

func UnquoteChar(s string, quote byte) (value int, multibyte bool, tail string, err os.Error)

UnquoteCharは、文字列sで表現されているエスケープされた文字列または文字リテラルの先頭一文字をデコードします。この関数は次の4つの値を返します。

1) デコードされたUnicodeコードポイントまたはbyteの値。
2) デコードされた文字がマルチバイトのUTF-8表現を必要とするかを示す論理値。
3) デコードされた文字以降の残った文字列。
4) エラー。(文法的に正しければnil)

2番目の引数quoteには、解析するリテラルの種類を指定します。よってエスケープされたクォート文字を使うことが許されます。シングルクォートを指定したときは、シーケンス\’は許されますが、エスケープしていない’は許されません。同様にダブルクォートを指定したときは、シーケンス\”は許されますが、エスケープしていない”は許されません。ゼロを指定したときはどちらのエスケープも許されず、どちらのクォート文字もエスケープせずに使います。

NumError型

type NumError struct {
    Num   string
    Error os.Error
}

(*NumError) String関数

func (e *NumError) String() string