Golangについて
仕事でGolang少し使っていて、個人的好きになったので、
勉強として記事にまとめておきますっ
割と新しいけどフレームワークが充実しているあたり、
流行っている感じがしますねー(てか流行っている…?)
使っていて個人的な感想はこんな感じです。
・GCがあるのでメモリ管理はしなくて良いあたりが素敵b
・ポインタがぁぁああ(未だに曖昧なところがある)
・if文は括弧()をつかないのか!?
・for文しかない…だと!?
・型は変数の後ろにつけるか?
・try...catchがない!?
Java、PHP、JavaScriptの経験しかないので、
最初は慣れなかったのですが、まぁ慣れです(笑)
ではでは、
入門編として
golangで無くてはならない構造体について書いていきますね。
構造体
Golangでもっとも基本となる構造体です。
こんな感じで書きます。
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には継承の概念も無ければ、
構造体の中に、メソッドを実装することも出来ないのです。
じゃあ、構造体を元に別の構造体を作ることも、
構造体毎にメソッドの実装もできないのか?
というとそんなことは無いですよっ
というわけで、次回は構造体の拡張とメソッドの実装について書いていきますねー