go言語(golang)でstructとメソッドを使った計算してみました。
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
https://www.udemy.com/course/go-fintech/learn/lecture/12003084#content
問題内容はこちらから↑
演習問題で『structとメソッドを使った3と4を足して7を出す』演習問題ありましたので、
コードを書いてみました。
まず自分の回答から
##回答
package main
import (
"fmt"
)
type Vertex struct{
X, Y int
}
func (v Vertex) Plus() int{
return v.X + v.Y
}
func main(){
v := Vertex{3, 4}
fmt.Println(v.Plus())
}
##問題
package main
import (
"fmt"
)
type Vertex struct{
X, Y int
}
func main(){
v := Vertex{3, 4}
}
##解説
func (v Vertex) Plus() int{
return v.X + v.Y
}
このような感じで任意の関数名(ここではPlus)とinteger(int)と返り値の含まれたコード(return)を
書いてみました。オブジェクト指向型言語だとクラスみたいなやつですね。。。
これをGo言語ではメソッドといいます。
※因みに、Go言語にはクラスがないみたいです。。。
ソースコードを全体ソースコードに入れると、
package main
import (
"fmt"
)
type Vertex struct{
X, Y int
}
func (v Vertex) Plus() int{
return v.X + v.Y
}
func main(){
v := Vertex{3, 4}
}
こんな感じです!!
紐付けしたコードを足したいので、
mainの箇所でfmt.Printlnで変数のvとPlus関数(任意の関数名)で
func main(){
v := Vertex{3, 4}
fmt.Println(v.Plus())
}
出力します!!
最終的な全体のソースコードが
回答になります!!!
#感想
Javaのオブジェクト指向の理解をしていたので、
分かりやすかったです。
他言語をマスターしていると簡単かもしれませんね。
逆に初心者からするとここから第一の壁かもしれない。。。汗
###~おまけ~
クラスとは...
プログラムを作るための設計図。
Javaなどのオブジェクト指向の言語でよく出てきます。