言語を行く - データ型と型の間の変換

データ型の分類

データ型 - 基本データ型

  図1に示すように、整数(INT、(INT8 / 1バイトを締結し、INT16 / 2バイト、INT32 / 4バイト、Int64型/ 8バイト)、符号なし(UINT、UINT8、uint16の、UINT32、UINT64))

    システムは自動的にInt32に対して32ビットシステム、64ビットシステムでは、ビットのInt64、int--ビット数を定義します

    システムは自動的にビットuint--、32ビットシステム、比較するUInt32、64ビットシステムでは、ビットUINT64の数を定義します

  図2に示すように、フロート:+符号ビット指数ビット+ビットは、のfloat32、のfloat64分割しました

    仮数ビットは64に、オペレーティングシステムによって影響されない精度の損失をもたらす、ステートメントのデフォルトを失ってもよいです

    2つの表示モードがあります科学的表記:534 * 10 3 534e3電力等価、534e3 10分の534電源3に相当し、Eは大文字と小文字を区別しないで、0小数点フロントとき書き込みません

  3、ブール:それだけで偽、真であることができ、1つのバイト

  4、文字列

    文字:単一引用符で囲まれた単一の文字、出力は、%C、出力文字コードのさもなければ数をフォーマットする必要があり、

       UTF-8英語1バイト、3バイト中国

       ストレージ:シャア - コード番号に対応する - バイナリ - ストレージ

          読み込み:バイナリ - チャー - - コード番号に対応するリード

    文字列を変更することはできません、二重引用符は、文字が識別されますエスケープ、内部転送バッククォート文字を識別しません

  図5に示すように、フォーマットされた出力シンボル

    %のC:コード値ユニコードに対応する値

    %のD 10進表示として表さ

    %のT:値のタイプ

    %のQ:二重引用符に対応する値は、構文文字列リテラルを行きます

    %F:小数点以下の表示

第二に、データの種類 - 派生データ型 

  ポインタ、配列、構造体、パイプ、機能、セクション、インターフェイス、地図

データ型変換

、INT /フロート/ブール/キャラクター - STRに変換し、fmt.sprintfとの変換は、%Qショー二重引用符文字列の宗派

VAR(
num4 = 1
num5 = 3.44
CHAR = 'W'
、BL =真
str1の文字列

  // int型- >>文字列
STR1 = fmt.Sprintf( "%D"、num4)
fmt.Printf( "STR =%Q" 、STR1)
   //フロート- >>文字列
STR1 = fmt.Sprintf( "%のF"、num5)
fmt.Printf( "STR =%Q"、STR1)

  // STR - >>刺す
STR1 = fmt.Sprintf( "% C」、CHAR)
fmt.Printf( "STR =%Q"、STR)// BOOL - >>文字列
STR1 = fmt.Sprintf( "%のT"、BL)
fmt.Printf( "STR =%Q"、 STR1)

二、パケット変換機能は、StrConv用のSTRターンint型/フロート/ BOOL、

  注意事項:

  図1に示すように、第二の誤差である、_によって与えつのエラーが無視される必要がない、2つの値を返し、一方が第一値であり、オリジナルタイプ出力V-%を機能は、StrConvパッケージ、最初のパッケージ導入のStrConvを使用して

  図2に示すように、文字列データ型変換型基本的なデータを効果的に変換することができます

  、ハローINTに変換される与えられていない、0の直接表示デフォルト値として3、

  図4に示すように、偽の与えられていない、直接表示デフォルト値、ハローBOOLに変換されるよう

  5、ParseBool(変数名)、(値、エラー)

  6、のparseInt(変数名、表示進数(16進数10)、何ビット(INT8 / 16/32/64))、(値-int64、エラー)

  7、parseFloatは(変数名、ビットflaot32 / 64の数)、(値のfloat64、エラー)

   VAR(
"真の" STR2 =
B1 BOOL
STR3 = "122 333"
N1のInt64
STR4 = "23.33"
N2のfloat64

//文字列ターンブール値、%Vの表示形式は、デフォルト値である
B1、_ = strconv.ParseBool(STR2)
FMT。 printf( "%がB = V"、B1)

//文字列がintオン
N1を、_ = strconv.ParseInt(str3,10,64)
fmt.Printf( "%のV = N1"、N1)

//文字列フロートオン
N2をstrconv.ParseFloat = _(str4,64)
fmt.Printf( "%のV = N2"、N2)
}










 

おすすめ

転載: www.cnblogs.com/puti306/p/11407501.html