English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Go File IO(ファイル操作)データ型指定の
Go変数保存できるデータの型です。Go言語では、以下の四つのカテゴリに分けられます:
基本型:数字、文字列、布尔値がこのカテゴリに属します。
集合型:配列や構造体がこのカテゴリに属します。
参照型:
ポインタ、スライス、マップ集合、関数、Channelがこのカテゴリに属します。インターフェースの型について議論します。以下に、Go言語のインターフェースの型について議論します。ここでは、Go言語の
基本データ型
さらに以下の三つのサブカテゴリに分けられます:
Numbers
Strings数字の型Go言語では、数字は以下のように分けられます
三つのサブカテゴリ:
データ型 | の説明 |
---|---|
ビット数の有符号整数8 | 8整数: |
ビット数の有符号整数16 | 16整数: |
ビット数の有符号整数32 | 32整数: |
ビット数の有符号整数64 | 64整数: |
ビット数の無符号整数8 | 8Go言語では、有符号整数と無符号整数は以下の四つの異なるサイズを使用できます。以下の表に示されています。有符号のintはintで、無符号の整数はuintで表されます。 |
ビット数の無符号整数16 | 16Go言語では、有符号整数と無符号整数は以下の四つの異なるサイズを使用できます。以下の表に示されています。有符号のintはintで、無符号の整数はuintで表されます。 |
ビット数の無符号整数32 | 32Go言語では、有符号整数と無符号整数は以下の四つの異なるサイズを使用できます。以下の表に示されています。有符号のintはintで、無符号の整数はuintで表されます。 |
ビット数の無符号整数64 | 64Go言語では、有符号整数と無符号整数は以下の四つの異なるサイズを使用できます。以下の表に示されています。有符号のintはintで、無符号の整数はuintで表されます。 |
ビット数の有符号整数 | int32uint64ビットで、inとuintはどちらも同じサイズを含んでいます、どちらも |
ビット数の無符号整数 | int32uint64ビットで、inとuintはどちらも同じサイズを含んでいます、どちらも |
ビット。 | それはint32の同義語であり、Unicodeコードポイントも表します。 |
byte | それはint8の同義語です。 |
uintptr | それは無符号整数の型です。その幅は定義されていませんが、ポインタ値のすべてのビットを収容できます。 |
// 整数を使用 package main import "fmt" func main() { // を使用8ビット数の無符号整数 var X uint8 = 225 fmt.Println(X+1, X) // を使用16ビット数の有符号整数 var Y int16 = 32767 fmt.Println(Y+2, Y-2) }
出力:
226 225 -32767 32765
浮動小数点数:Go言語では、浮動小数点数は以下のように分けられます2以下の表に示されているように:
データ型 | の説明 |
---|---|
float32 | 32位IEEE 754浮動小数点数 |
float64 | 64位IEEE 754浮動小数点数 |
// 浮動小数点数の使用 package main import "fmt" func main() { a := 20.45 b := 34.89 //二つの浮動小数点数を減じます c := b-a //表示結果 fmt.Printf("結果: %f", c) //c変数の型を表示 fmt.Printf("\ncの型は : %T", c) }
出力:
結果: 14.440000 cの型は: float64
複数:複数を以下の表に示すように二つの部分に分けます。float32およびfloat64これらの複数の一部です。内建関数は虚部と実部から複数を作成し、内建の虚部と実部関数はこれらの部分を抽出します。
データ型 | の説明 |
---|---|
complex64 | float32実数と虚数の成分を持つ複数 |
complex128 | float64実数と虚数の成分を持つ複数 |
//複数の使用 package main import "fmt" func main() { var a complex128 = complex(6, 2) var b complex64 = complex(9, 2) fmt.Println(a) fmt.Println(b) //型を表示 fmt.Printf("aの型は %T および"+ "bの型は %T", a, b) }
出力:
(6+2i) (9+2i) aの型は complex128 およびbの型は complex64
ブールデータ型はtrueまたはfalseを表します。ブール値の型は、暗黙的または明示的に他の型に変換されることはありません。
//ブール値の使用 package main import "fmt" func main() { //変数 str1 := "w3codebox" str2 := "w3codebox" str3 := "w3codebox" result1 := str1 == str2 result2 := str1 == str3 //結果を出力 fmt.Println(result1) fmt.Println(result2) //resultを表示1とresult2の型 fmt.Printf("result1 の型は %T 、 "+"result2の型は %T", result1, result2) }
出力:
true true result1 の型は bool 、 result2の型は bool
文字列データ型はUnicodeコードポイントのシーケンスを表します。言い換えれば、文字列は変更不可能なバイトのシーケンスと呼べます。これは、文字列が作成されると、その文字列を変更することができないことを意味します。文字列は任意のデータを含むことができます。人間が読める形式でゼロ値のバイトを含むこともできます。
//文字列の使用 package main import "fmt" func main() { //文字列を格納するstr変数 str := "w3codebox" //文字列の長さを表示 fmt.Printf("文字列の長さ:%d", len(str)) //文字列を表示 fmt.Printf("\n文字列は: %s", str) // str変数の型を表示 fmt.Printf("\nstrの型は: %T", str) }
出力:
文字列の長さ:5 文字列は: w3codebox strの型は: string