I think what the OP wants is:

type A interface{}
type B interface{}

...
PrintInterface(A)

Meaning they want to pass the interface definition to some method. 

At least that’s what I am guessing. 

> On Dec 9, 2018, at 9:22 PM, Space A. <reexist...@gmail.com> wrote:
> 
> reflect/* is a bit tricky. Use pointer to get interface itself.
> 
> package main
> 
> import (
>     "fmt"
>     "reflect"
> )
> 
> func main() {
>     test := interface{}("test")
>     printInterfaceValue(test)
> }
> 
> func printInterfaceValue(i interface{}) {
>     switch testing := i.(type) {
>     case interface{}:
>         fmt.Println("is interface, with value:", testing)
>     case string:
>         fmt.Println("is not interface")
>     }
> 
>     fmt.Println("reflect.Type is", reflect.TypeOf(&i).Elem())
> }
> 
> Output:
> is interface, with value: test
> reflect.Type is interface {}
> 
> 
> 
> 
> 
> понедельник, 10 декабря 2018 г., 5:05:12 UTC+3 пользователь Robert Engels 
> написал:
>> 
>> I mean reflect.Type not a type that is an interface. 
>> 
>>> On Dec 9, 2018, at 6:53 PM, Space A. <reexi...@gmail.com> wrote:
>>> 
>>> Of course. When you "pass a value whose type implements the interface" as 
>>> an interface argument to a function, you in fact pass an interface.
>>> 
>>> 
>>> воскресенье, 9 декабря 2018 г., 23:23:41 UTC+3 пользователь Mark Volkmann 
>>> написал:
>>>> 
>>>> Is it possible to pass an interface to a function in Go? I don’t want to 
>>>> pass a value whose type implements the interface, I want to pass the 
>>>> interface.
>>>> 
>>>> -- 
>>>> R. Mark Volkmann
>>>> Object Computing, Inc.
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to golang-nuts...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to