前提・実現したいこと
Goで構造体に関連付けられたメソッドを引数として渡す処理を実装したいと考えております。
一つのメソッドで、一連の処理が完了するようにしたいと言うのが目的になります。
今回は2つのstructを宣言しており、それぞれのstructでデータを受け渡しているという形になります。
go
1type Sample struct { 2 x ,y float64 3} 4 5type Result struct { 6 id, name string 7} 8 9 10//引数として渡したい関数 11func (sample Sample) Convert() string{ 12 a := strconv.Itoa(int(sample.x)) 13 return a 14} 15 16//メソッドを関連付けたい関数 17func (result Result) ConnectDB('ここに'Convert()を引数として渡したい) Result { 18 // Connect to the database 19 db, err := sql.Open("mysql", "hogehoge") 20 defer db.Close() 21 if err != nil { 22 fmt.Println(err) 23 } 24 25 26 rows, err := db.Query("SELECT id,name FROM master WHERE x = ? ", "ここに関数の実行結果を渡したい") // 27 if err != nil { 28 panic(err.Error()) 29 } 30 for rows.Next() { 31 err = rows.Scan(&result.id,&result.name) 32 if err != nil { 33 panic(err.Error()) 34 } 35 36 } 37 return result 38}
発生している問題・エラーメッセージ
引数にstructととして
func (result Result) ConnectDB(sample Sample)
ような形で構造体を渡すことはできますが、Sampleにひもづけられたメソッドに関しては、引数に入れることができませんでした。
一連の処理として実行する場合には、そもそも実装の方法を変えるべきでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。