実現したいこと
interfaceのメソッドに引数の概念を設定したい。
現状interfaceのPushメソッドを記述し、実態のメソッドでPush(s string)を設定すると定義の違いでエラーになってしまう。
発生している問題・エラーメッセージ
./prog.go:8:21: cannot use publish{…} (value of type publish) as publisher value in variable declaration: publish does not implement publisher (wrong type for method Push) have Push(string) want Push()
該当のソースコード
go
1package main 2 3import "fmt" 4 5func main() { 6 var ph publisher = publish{messege: "正義は"} 7 ph.Push() 8 9} 10 11type publisher interface { 12 Push() 13} 14 15type publish struct { 16 messege string 17} 18 19func (p publish) Push(s string) { 20 fmt.Println(p.messege + "勝つ") 21}
補足情報(FW/ツールのバージョンなど)
Go 1.21

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/10/13 08:47