reflectは実行時リフレクションを実装するパッケージです。本書はGo言語のreflectパッケージについて解説と使い方を紹介します。reflectは任意の値の型情報などをオブジェクト化して利用する機能を持ち、これを使用することであたかも動的型付け言語であるかのような型の制約を受けないコードを書くことができます。本書は情報が少ないreflectパッケージの簡単な解説はもちろん、すべての関数やメソッドの使用例をまとめました。これからreflectパッケージを使おうとする方や、reflectパッケージの使い方に自信が持てない方、reflectパッケージを使ったことはあるが使い方を辞書的に参照したい方に最適な一冊です。
【目次】
第1章 reflectの基礎知識
第2章 reflectの基本的な使い方
第3章 reflectの使用例・Type編
第4章 reflectの使用例・Value編
第5章 reflectの使用例・その他編
付録A reflectの型ごとの使用例
目次プレビュー
- 前書き
- 第1章 reflectの基礎知識
- 第2章 reflectの基本的な使い方
-
1.1 reflectとは
-
1.2 reflectのオブジェクトとは
-
1.3 reflectパッケージの利用例
-
2.1 型名を取得する
-
2.2 型の種別を取得する
-
2.3 型の種別ごとの処理を行う
-
2.4 型同士の比較
-
2.5 値同士の比較
-
2.6 元の値を取得する
-
2.7 元の値を更新できるか確認する
-
2.8 元の値を更新する
-
2.9 ゼロ値であるかを調べる
-
2.10 ゼロ値を取得する
-
2.11 配列のすべての要素を処理する
-
2.12 マップのすべての要素を処理する
-
2.13 構造体のフィールドを取得する
-
2.14 構造体のフィールドのタグを取得する
-
4.1 type Value
-
4.2 func (Value) Int
-
4.3 func (Value) Uint
-
4.4 func (Value) Float
-
4.5 func (Value) Complex
-
4.6 func (Value) String
-
4.7 func (Value) Bool
-
4.8 func (Value) Bytes
-
4.9 func (Value) Interface
-
4.10 func (Value) CanInterface
-
4.11 func (Value) Addr
-
4.12 func (Value) CanAddr
-
4.13 func (Value) Call
-
4.14 func (Value) CallSlice
-
4.15 func CanSet
-
4.16 func Cap
-
4.17 func Close
-
4.18 func Convert
-
4.19 func Elem
-
4.20 func NumField
-
4.21 func Field
-
4.22 func FieldByIndex
-
4.23 func FieldByName
-
4.24 func FieldByNameFunc
-
4.25 func Index
-
4.26 func InterfaceData
-
4.27 func IsNil
-
4.28 func IsValid
-
4.29 func IsZero
-
4.30 func Kind
-
4.31 func Len
-
4.32 func MapIndex
-
4.33 func MapKeys
-
4.34 func MapRange
-
4.35 func Method
-
4.36 func MethodByName
-
4.37 func NumMethod
-
4.38 func OverflowInt
-
4.39 func OverflowUint
-
4.40 func OverflowFloat
-
4.41 func OverflowComplex
-
4.42 func Pointer
-
4.43 func Recv
-
4.44 func Send
-
4.45 func Set
-
4.46 func SetBool
-
4.47 func SetBytes
-
4.48 func SetCap
-
4.49 func SetComplex
-
4.50 func SetFloat
-
4.51 func SetInt
-
4.52 func SetUint
-
4.53 func SetString
-
4.54 func SetLen
-
4.55 func SetMapIndex
-
4.56 func SetPointer
-
4.57 func Slice
-
4.58 func Slice3
-
4.59 func TryRecv
-
4.60 func TrySend
-
4.61 func Type
-
4.62 func UnsafeAddr
-
A.1 符号付き整数
-
A.2 符号なし整数
-
A.3 浮動小数点数
-
A.4 複素数
-
A.5 真偽値
-
A.6 文字列
-
A.7 配列
-
A.8 スライス
-
A.9 マップ
-
A.10 構造体
-
A.11 関数
-
A.12 ポインタ
-
A.13 インターフェイス
-
A.14 チャネル