LoginSignup
3
1

More than 5 years have passed since last update.

Golang入門(構造体)

Posted at

Golangについて

仕事でGolang少し使っていて、個人的好きになったので、
勉強として記事にまとめておきますっ

割と新しいけどフレームワークが充実しているあたり、
流行っている感じがしますねー(てか流行っている…?)

使っていて個人的な感想はこんな感じです。

・GCがあるのでメモリ管理はしなくて良いあたりが素敵b
・ポインタがぁぁああ(未だに曖昧なところがある)
・if文は括弧()をつかないのか!?
・for文しかない…だと!?
・型は変数の後ろにつけるか?
・try...catchがない!?

Java、PHP、JavaScriptの経験しかないので、
最初は慣れなかったのですが、まぁ慣れです(笑)

ではでは、
入門編として
golangで無くてはならない構造体について書いていきますね。

構造体

Golangでもっとも基本となる構造体です。
こんな感じで書きます。

sample.go
package main

import "fmt"

// 構造体定義
type Human struct {
    Name   string
    Age    int
    Weight float32
}

func main() {
    // インスタンス生成
    skanehira := Human{
        Name:   "skanehira",
        Age:    24,
        Weight: 60.6,
    }

    fmt.Printf("%#v \n", skanehira)
}
MacBookPro:Qiita skanehira$ go build sample.go
MacBookPro:Qiita skanehira$ ./sample
main.Human{Name:"skanehira", Age:24, Weight:60.6}
MacBookPro:Qiita skanehira$

ちゃんと代入した変数が、出力されていますねー
シンプルで良いと思います。うん。

はじめは、Javaでいうとプロパティだけが詰まったclassと同じ感じかな?という印象です。

ただ、Golangには継承の概念も無ければ、
構造体の中に、メソッドを実装することも出来ないのです。

じゃあ、構造体を元に別の構造体を作ることも、
構造体毎にメソッドの実装もできないのか?
というとそんなことは無いですよっ

というわけで、次回は構造体の拡張とメソッドの実装について書いていきますねー

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1