Как преобразовать interface в строку на Golang?

Пользователь

от elena , в категории: Общие вопросы , 3 года назад

Как преобразовать interface в строку на Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от kaci , 3 года назад

@elena Вы можете использовать приведение типов(type assertion) в Golang, например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import "fmt"

type Foo struct {
   Data interface{}
}

func (foo Foo) GetData() interface{} {
   return foo.Data
}

func (foo *Foo) SetData(data interface{}) {
   foo.Data = data
}

func main() {
  var test Foo
  test.SetData([]string{"a", "b", "c"})
  data := test.GetData().([]string)
  
  // [a b c]
  fmt.Println(data)
  // a,b,c
  fmt.Println(strings.Join(data, ","))
}