![見出し画像](https://assets.st-note.com/production/uploads/images/133819560/rectangle_large_type_2_f98cd2095aa04ca0d96deabd2cbe8e27.png?width=1200)
golang 変数のデータ型を確認する方法【reflect.TypeOf】
今回はgolangの変数のデータ型を確認する方法を紹介していきます。
golangにおいて変数のデータ型を確認する方法はいくつかありますが、reflectというパッケージを使用するのが一般的です。
変数のデータ型を確認する方法
データ型を確認するにはreflect.TypeOf()関数を使います。
引数に型を調べたい変数を渡すことで、データ型を調べることができます。
package main
import (
"fmt"
"reflect"
)
func main() {
var aaaaa int = 1000
var bbbbb string = "あいうえお"
fmt.Printf("aaaaa のデータ型: %s\n", reflect.TypeOf(aaaaa))
fmt.Printf("bbbbb のデータ型: %s\n", reflect.TypeOf(bbbbb))
}
reflect.TypeOf()関数はバッグや動的な型処理の際に便利です。
上記コードではaaaaaとbbbbbという変数のデータ型を取得して出力します。出力結果は以下となります。
aaaaa のデータ型: int
bbbbb のデータ型: string
reflect.TypeOfの注意点
reflect.TypeOf()関数を用いるうえで必要な点があります。
パフォーマンス
reflectパッケージ全般は実行時に型情報を取得するため、通常の静的な型操作よりもパフォーマンスが低下する傾向にあります。
ループの中で頻繁にreflect.TypeOf()を呼び出すなんてことはないようにしましょう。
コードの複雑さと可読性
reflectを使用すると、コードの複雑さが増し、他の開発者にとって理解しにくくなる可能性があります。
Go言語の設計哲学はシンプルさと明確さを重視していることからあまり使うことは推奨しません。
golangをもっと詳しくなりたい方に
初めてのGo言語
![](https://assets.st-note.com/img/1711024723536-dCehep7t7c.png?width=1200)
Go言語の入門から応用まではこの一冊で網羅されています。説明も順序立てて説明されており完成度の高い参考書となっています。
詳解Go言語Webアプリケーション開発
![](https://assets.st-note.com/img/1711024724306-8USlWMv41n.png?width=1200)
こちらはGo言語の基礎知識を得たあとに読むことをすすめる本となっています。ハンズオン形式で手を動かしながら実装をしていくことができるため、実際の開発を意識しながらGo言語を学ぶことができます。
以下の記事では他にも筆者が実際に読んでおすすめしたい本をまとめています。
【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語)
![](https://assets.st-note.com/img/1711024723890-OKTcTqN4Ww.png?width=1200)
まだGo言語の勉強を始めていない方、全くの初心者の方にはこちらのUdemy教材が最もおすすめです。
この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
![](https://assets.st-note.com/img/1711024723670-YlSGqXv4KX.png?width=1200)
個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。
以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。
※本ページではアフィリエイトリンク(PR)が含まれています
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?