【Golang】独自型を作る方法&具体的な使い方を説明します

Golangで独自の型を作成する方法

既存のstringやint等のデータ型だけでは表現しきれない部分が発生すると思います。

そのような状況において、Golangでは「type」キーワードを使用することで任意の型を作成することができます。

type 独自型の名前 データ型の内容

基本的な書き方は上記の通りです。

typeで独自型を作成する具体的なコード例

以下のコードはint型ではなく、数値を受け取るGrade型という独自のデータ型を作る例です。

package main

import (
  "fmt"
)

type Grade int32  // Grade型を作成

func main() {
  var grade Grade  // Grade型の変数を定義することになる
  
  fmt.Println(grade)  // 変数gradeの値を出力
  fmt.Printf("%T\n", grade)  // 変数gradeの型を出力
}

出力結果

0
main.Grade

独自型と既存のデータ型では計算できない

上記の例だとGrade型は数値しか受け取れないため、int型と同じ扱いになると考えられそうですが、まったく別物になります。

そのため、どちらも数値を扱う型ですがGrade型とint型で足し算や引き算を行おうとしてもできません。

var i int = 5
var grade Grade = 3

i + grade  // => エラーが発生する

上記のようにint型とGrade型は異なるデータ型となり、int型はint型と、Grade型はGrade型でないと計算することが不可能となります。

タイトルとURLをコピーしました