The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wangwenfan

问一个 golang 中 interface 问题

  •  
  •   wangwenfan · Nov 27, 2020 · 2052 views
    This topic created in 2022 days ago, the information mentioned may be changed or developed.

    调用方法返回值是一个 interface,为什么取不到里面的字段

    type error interface {
    	Error() string
    }
    
    

    调用和返回如下图,返回值 err 是下面 debug 里面的 vErr Screenshot_1.png

    6 replies    2020-11-27 10:57:56 +08:00
    rrfeng
        1
    rrfeng  
       Nov 27, 2020
    err.Error()

    你是怎么得出来 .Errors 这个『东西』的??
    FinnBai
        2
    FinnBai  
       Nov 27, 2020
    返回的是 interface,如果想用特定类型的属性,需要类型断言
    rrfeng
        3
    rrfeng  
       Nov 27, 2020
    噢,需要转一下类型。
    err.(ValidationError)
    wangwenfan
        4
    wangwenfan  
    OP
       Nov 27, 2020
    @rrfeng 刚刚转了,但是得到的是 false,
    ![Screenshot_2.png]( )
    Mark3K
        5
    Mark3K  
       Nov 27, 2020
    @wangwenfan 看看是不是转错了类型: *jwt.ValidationError
    wangwenfan
        6
    wangwenfan  
    OP
       Nov 27, 2020
    @baiyi @rrfeng,已解决,感谢,需要传 *ValidationError
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3258 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 11:42 · PVG 19:42 · LAX 04:42 · JFK 07:42
    ♥ Do have faith in what you're doing.