[問題] Golang型態轉換

看板Programming作者 (Umaka)時間2年前 (2022/09/02 14:40), 2年前編輯推噓2(204)
留言6則, 2人參與, 2年前最新討論串1/2 (看更多)
最近在摸索Go的相關語法碰到一些問題想請教一下 程式碼如下: type Person struct { Name string Age int } func test1(p *Person) { p.Name = "123" } func test(p any) { test1(p.(*Person)) ^^^^^^^^ } 想請問底線部分的*Person這個結構有什麼辦法從輸入p any動態產生嗎? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.181.99 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1662100823.A.CD1.html ※ 編輯: umaka0325 (180.218.181.99 臺灣), 09/02/2022 15:01:20

09/02 16:20, 2年前 , 1F
可以用switch p.(type)分歧到不同case
09/02 16:20, 1F

09/02 16:22, 2年前 , 2F
實際上any就是interface{}
09/02 16:22, 2F

09/02 16:30, 2年前 , 3F
因為輸入p可能有很多種 用switch方式會
09/02 16:30, 3F

09/02 16:30, 2年前 , 4F
需要寫很多case 所以才想用動態產生
09/02 16:30, 4F

09/02 16:42, 2年前 , 5F
可能需要重構function吧.
09/02 16:42, 5F

09/02 16:48, 2年前 , 6F
p很多種但行為一樣就用interface定義
09/02 16:48, 6F
文章代碼(AID): #1Z4QLNpH (Programming)
討論串 (同標題文章)
文章代碼(AID): #1Z4QLNpH (Programming)