####変数と基本データ型(3)を移動します
残りの二つの基本的なデータ型(ブール型、文字列型)の変換だけでなく、基本的なデータ型について学ぶために、今日
ブール#####
としても知られている、ブール型; bool型は、ブール型は、値がtrueとfalse可能
ブール1バイト;
***論理演算に適したブール型、フロー制御、一般的に使用される:
条件付き制御ステートメントIF;
ループ制御文のため;
主パッケージ のインポート( "FMT" "安全でない" ) FUNCメイン(){ VAR A BOOL fmt.Println(unsafe.Siaeof(A))メモリ空間1 // falseにfmt.Println(A)//偽デフォルト値 }
#####文字列型の
バイト列。言語の文字列が一緒に接続される固定長の文字列中の文字の文字列で行く、文字列はシングルバイトUTF-8を使用して接続されて行きますUnicodeテキスト符号化識別;
***文字列16バイトのメモリ空間、
ケース:
主パッケージ インポート "FMT" ""安全でない ) メインFUNC(){ VARのSTR列 fmt.Println(unsafe.Siaeof(STR))// 16 fmt.Println(STR)//为空字符串 }
文字列の使用を注意して詳細
1.文字列は囲碁Unicodeテキストで識別UTF-8エンコーディングを使用し、何の問題も文字化けしません。
2.文字列値と、文字を変更することはできません、文字列を行きます;それは不変である
:3の列の2つの表現
のマークの3.1対、エスケープ文字を識別することができる、
その天然型で3.2バッククォート出力列、エスケープ文字ではなく、改行を逃れられないことを含みます特殊文字は、
4文字列連結は+を使用して、
5行の文字列は、複数行の文字列を使用する必要があり、長すぎます。
メインパッケージ のインポート"FMT" FUNCメイン(){ VARのSTR = "はい" STR [0] = 'H' //エラー、文字列をインデックス化することができますが、変更なしの VARのSTR1 = ` #!は/ usr / binに/ PythonのENV :. 8 UTF-#coding :DEFログイン() 印刷( "N- \はい") 印刷( "こんにちは、世界") __name__ IF == "__main__": ログイン() ` fmt.Println(STR1) //文字列スプライシング STR =「こんにちは」+「世界」 fmt.Println(STR) //複数行、ブランチは+ライン上に保持する必要があります。 STRは=「こんにちは」+「世界」+「こんにちは」+「世界」+ "こんにちは「+」世界「+ 」こんにちは"+ "世界" + "こんにちは" + "世界" + "こんにちは" + "世界" + こんにちは"+ "世界" + "こんにちは" + "世界" + "こんにちは" + "世界" + fmt.Println(STR) }
デフォルト値は#####基本データ型で
、既に述べた以前の記事、ここでは、より深い印象を要約すると、
プログラムが変数に割り当てられていないときに行くのデータ型では、デフォルト値を持っています、ゼロ値として知られているデフォルト値は、デフォルト値を使用し、
次のように基本データ型のデフォルト値である:
1.整数= 0;
2.フロート= 0;
3列=「」;
4 = falseにBOOL。
パッケージメイン インポート"FMT" FUNCメイン(){ VAR INT // 0 VAR B型のfloat32 // 0 VARのC列// "" VARさd BOOL //偽 fmt.Println(A、B、C、D) }
する#####基本データ型
移動およびJava /、Cとは異なり、割り当ては、データ変数の異なるタイプ間の表示変換は自動的に変換されていない***必要と
1.構文:Tは、(V)の値を変換T、Tの種類のようなデータ型である:INT32、INTは、等のfloat32;
2. V:変数を変換します。
パッケージメイン インポート"FMT" FUNCメイン(){ iはINT32 VAR = 10 //将I转换为フロート するvar I1のfloat32 =のfloat32(I) のvar I2 INT8 = INT8(I) のvar I3のInt64 = int64モード(I) fmt.Println (I、I1、I2、I3) }
基本的なデータ変換が注
1.データ型変換が小さい範囲から発現させることができる- >広い範囲を示し、また、広い範囲を表すことができる- >小さな範囲を表し、
変数の2値を変換する、データ・タイプは、それ自体ではありません変更、
変換プロセス中に3は、広い範囲を表す- >時間の範囲を表す小さな範囲、値の範囲(記事参照)を超えた場合、コンパイラは文句ない、オーバーフロー処理によれば、結果はそう、正確ではないかもしれません変換範囲を検討します。
主パッケージ のインポート"FMT" FUNCメイン(){ = 10のInt32 I VAR VAR = I1用のfloat32用のfloat32(I) //フォーマットされた出力は、%Vは出力プリミティブ型ストリング、INTられる値を表し; fmt.Printf(「Iを%のVの=は、%VはI1 \ N- "I、I1)= //変数は、それ自体が型に変化しない変換された I「は、N- \タイプfmt.Printfを("、私は)%のTです }
#####基本的な文字列データ型変換
の開発で、私たちはしばしば文字列に基本的なデータ型を変換する必要がある、または文字列は、基本データに変換された
基本データ転送文字列型のタイプ
1 fmt.Sprintf(「体積%」 、varsは)(これは、より柔軟性が推奨される)
2.関数のStrConvパッケージを使用
書式指定と、結果の文字列戻り値//ためにはsprintfフォーマットAに従って。 // sprintfのフォーマットされた文字列を生成するためのパラメータをフォーマットし、文字列による戻り FUNC用のsprintf(書式文字列、...インターフェイス{})の文字列を
ケース:
パッケージメイン インポート( "FMT" "のStrConv" ) 主FUNC(){ VAR INT = 1件の VAR B型のfloat64 = 1.1 VaRのCブール値=真 VAR d個のバイト= '' のvar strの文字列 //格式化INT类型 STR = FMT .Sprintf( "%dの"、A) fmt.Printf( "STR型は%Tである、STR値は%Qを\ nである"、STR、STR) //格式化のfloat64 STR = fmt.Sprintf( "%のF"、 B) fmt.Printf( "STR型は%Tである、STR値は%Qを\ nである"、STR、STR) //格式化BOOL STR = fmt.Sprintf( "%のT"、C) fmt.Printf(「STRタイプは%T、STR値は%Qを\ nである」、STR、STR)である //格式化バイト STR = fmt.Sprintf( "%のC"、D) fmt.Printf(STR、STRは"%のTのSTR型は、%\ N- STR値Q IS IS") 機能パッケージのStrConv使用する2番目の方法// Int64の最初のパラメータを入力//を、二番目のパラメータ標的六角 STR = strconv.FormatInt(Int64の(A)、10) fmt.Printf( "%T STR型である、STR値のQ%の\のN-である"、STR、STR) //最初のパラメータタイプのfloat64第二のパラメータはフォーマットである、第三のパラメータは小さなデータ保持10であり、64は、最初のパラメータは、元の型のfloat64のある表し 111.12345678 = VARのfloat64 F // = strconv.FormatFloat STR(F、F「」、10、 32)// 111.1234588623 STR = strconv.FormatFloat(Fは、 'F'、10、64)// 111.1234567800 fmt.Printf( "%TのSTR型がであるSTR値Q%\ N-"、STR、STR) STR = strconv.FormatBool(C) fmt.Printf(STR、STR、 "%のTのSTR型であるが、STR値Q%\ N- IS") }
#####文字列型の転送の基本データ型
機能パッケージのStrConvで使用されます
FUNC ParseBool(STR列)(値ブール値は、エラーをERR) parseFloatは(Sストリング、ビットサイズINT)FUNC(のfloat64 F、エラーERR) parseFloatは(Sストリング、ベースINT、ビットサイズINT)FUNC(iはINT64、エラーERR) ParseUint FUNC (S列、BのINT、ビットサイズのINT)(N UINT、誤差ERR)
ケース:
主パッケージ のインポート( 「FMT」 「のStrConv」 ) FUNCメイン(){ VAR = STR「真の」 VaRのBOOLのB // ParseBoolは、2つの値が、値は、ERR返さ ない値は、関数によって返されない場合//移動を使用することができます_ _無視ゴミのように働くが、メモリを占有していない 、我々はそれがここで間違って行くことはありません知っているので、//一般的にエラーを無視することは推奨されません*** B、_ = strconv.ParseBool(STR) fmt.Printf(タイプの「B %Tは、ある%Bの値Vの\のN-ある「B、B) STR =」123 " //最初のパラメータは、変換される文字列であり、第2のパラメータは2進数で表される文字列であり、最初の元の文字列型の3つのパラメータは数を表し、ここでInt64の N-、_:= strconv.ParseInt(STRは、10、64) fmt.Printf( "%Tはn型、n型である値V%\ N-あります"、 N-、N-) STRは=「12.123456789」 、//最初のパラメータは、変換する文字列であり、第2のパラメータは、浮動小数点型で表現文字列でありますここでのfloat64 // 32にフロート64は、精度が失われる場合、参照strconv.FormatFloat() F、_:= strconv.ParseFloat(STR、64) fmt.Printf( "Fタイプは%Tであり、F値は%Vを\ nである"、F、F) }
ストリング転送基本データ型の注意事項
などの有効なデータになることができ、文字列型がいることを確認するために、基本データに文字列型の変換時:整数に「11」とすることができるが、「AAA」がに変換することができません整数、この処理ならば、エラーが返され、ターゲット・タイプのゼロ値を返す(INT = 0、0 =偽BOOLに、フロート=)
-------最近同期更新パブリックマイクロチャネル番号「前菜漬け公共の数字の対象「の最新記事、注目のおかげで