Go 言語のデータ型の復号化: 明確な概要と具体的なコード例が必要です
1. はじめに
プログラミング言語のデータ型非常に重要なことは、どのような種類のデータを保存および操作できるかを決定することです。 Go 言語では、データ型の概念は他のプログラミング言語と似ていますが、Go 言語には独自のデータ型システムと特徴があります。この記事では、Go 言語のデータ型を深く理解し、具体的なコード例を通じてこのファミリーを解読します。
2. 基本データ型
Go 言語の基本データ型には、ブール値、整数、浮動小数点、複素数、文字列、文字が含まれます。それらは bool、int、float、complex、string、rune です。個別に見てみましょう。
- ブール型 (bool)
ブール型には、true と false の 2 つの値しかありません。他の言語と同様に、ブール型を使用してプログラムの流れを判断し、制御できます。
サンプル コード:
package main
import "fmt"
func main() {
var b bool = true
fmt.Println(b)
}
- 整数型 (int)
整数データ型は整数値を格納でき、そのサイズは基礎となるコンピューター アーキテクチャに関連します。 Go 言語では、整数は符号付き整数と符号なし整数に分けられます。一般的に使用される整数データ型を次に示します。
- int8: -128 ~ 127 の範囲の符号付き 8 ビット整数。
- int16: 符号付き 16 ビット整数。値の範囲は -32768 ~ 32767 です。
- int32: 符号付き 32 ビット整数。値の範囲は -2147483648 ~ 2147483647 です。
- int64: 符号付き 64 ビット整数。値の範囲は -9223372036854775808 ~ 9223372036854775807 です。
- uint8: 符号なし 8 ビット整数、値の範囲は 0 ~ 255 です。
- uint16: 符号なし 16 ビット整数、値の範囲は 0 ~ 65535 です。
- uint32: 符号なし 32 ビット整数。値の範囲は 0 ~ 4294967295 です。
- uint64: 符号なし 64 ビット整数。値の範囲は 0 ~ 18446744073709551615 です。
- int: オペレーティング システムとコンパイラのビット数に応じて、32 ビット オペレーティング システムは 32 ビット整数であり、64 ビット オペレーティング システムは 64 ビット整数です。
- uint: オペレーティング システムとコンパイラのビット数に応じて、32 ビット オペレーティング システムは 32 ビットの符号なし整数であり、64 ビット オペレーティング システムは 64 ビットの符号なし整数です。
サンプルコード:
package main
import "fmt"
func main() {
var i int = 10
fmt.Println(i)
}
- 浮動小数点型 (float)
浮動小数点データ型は 10 進数値を格納でき、float32 と float64 の 2 つの精度があります。 。
- float32: 小数点以下 7 桁までの精度の単精度浮動小数点数。
- float64: 倍精度浮動小数点数、小数点以下 15 桁までの精度。
サンプル コード:
package main
import "fmt"
func main() {
var f float32 = 3.14
fmt.Println(f)
}
- 複素数 (複素数)
複素数型は、実数部と虚数部が両方とも浮動小数点型である複素数を表すために使用されます。 。 Go 言語では、複合型には complex64 と complex128 という 2 つの精度があります。
- complex64: 実数部と虚数部は 2 つの float32 で表されます。
- complex128: 実数部と虚数部は 2 つの float64 で表されます。
サンプルコード:
package main
import "fmt"
func main() {
var c complex64 = complex(1, 2)
fmt.Println(c)
}
- String (文字列)
String は Go 言語のデータ型で、文字列を表すために使用されます。文字列は不変です。つまり、元の文字列を変更することはできませんが、一部の関数や操作を通じて文字列を処理できます。 Go 言語では、文字列は二重引用符 (") で囲まれます。
サンプル コード:
package main
import "fmt"
func main() {
var s string = "Hello, World!"
fmt.Println(s)
}
- Characters (rune)
Characters (rune ) は、 Go 言語で Unicode 文字を表すために使用されるデータ型です。実際には、Unicode 文字のコード ポイントを表す整数型です。文字は一重引用符 (') で表されます。
サンプル コード:
package main
import "fmt"
func main() {
var r rune = '你'
fmt.Println(r)
}
3. 複合データ型
基本的なデータ型に加えて、Go 言語では、配列、スライス、辞書、構造体などのいくつかの複合データ型も提供します。 (インターフェイス) と関数 (関数)。
- Array (配列)
配列は、同じ型の一連の要素を格納できる固定サイズのデータ構造です。 、配列のサイズは固定されており、変更できません。
サンプル コード:
package main
import "fmt"
func main() {
var arr [3]int
arr[0] = 1
arr[1] = 2
arr[2] = 3
fmt.Println(arr)
}
- Slice
Slice は動的サイズのデータ構造であり、自動的にサイズを変更できます。スライスは make 関数を使用して作成されるか、スライス演算子 [:] を使用して配列または他のスライスから作成できます。
#サンプル コード:
package main
import "fmt"
func main() {
arr := []int{1, 2, 3}
fmt.Println(arr)
}
辞書 (マップ)- 辞書は、キーと値で構成される順序のないコレクションです。Go 言語では、辞書は make 関数を使用して作成されます。
サンプル コード:
package main
import "fmt"
func main() {
dict := make(map[string]int)
dict["apple"] = 1
dict["banana"] = 2
dict["cherry"] = 3
fmt.Println(dict)
}
構造 (struct)- 構造は、複数のフィールドを含めることができるカスタム データ型です。各フィールドには独自の型と名前があります。Go 言語では、構造は type キーワードを使用して定義されます。
サンプル コード:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
p := Person{"Alice", 18}
fmt.Println(p)
}
Interface (インターフェース)- Interface は、メソッドのセットを定義する抽象データ型です。インターフェースは、特定の型によって実装できます。 、インターフェイスを実装するメソッドは、インターフェイス タイプを通じて呼び出すことができます。
サンプル コード:
package main
import "fmt"
type Shape interface {
Area() float64
}
type Circle struct {
Radius float64
}
func (c Circle) Area() float64 {
return c.Radius * c.Radius * 3.14
}
func main() {
var s Shape
c := Circle{5}
s = c
fmt.Println(s.Area())
}
- 函数(function)
函数是一段可重复使用的代码块,它可以接受参数并返回结果。在Go语言中,函数是一等公民,可以像其他值类型一样被传递和赋值。
示例代码:
package main
import "fmt"
func Add(a, b int) int {
return a + b
}
func main() {
sum := Add(1, 2)
fmt.Println(sum)
}
总结
本文通过具体的代码示例对Go语言的数据类型进行了解密,详细介绍了Go语言的基本数据类型和复合数据类型。希望本文可以帮助大家更好地理解和应用Go语言的数据类型。
以上がGo 言語のデータ型が明らかに: 完全に表示の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。