1 Tipo afirmación
Escribir: x (t) ..
x: una necesidad de afirmar el tipo de interfaz, T: tipos afirmación.
Para: determinar el puerto T x satisface la consulta contiene la T x de la interfaz.
2 determina si una variable implementa la interfaz especificada
Ejemplos:
if err,ok :=x.(error); ok {
return err.Error()
}
3 tipos de conversiones
Definición: Si queremos revertir esta variables de interfaz ⾥ ⾯ sabe el almacenamiento real es el tipo de objeto que se puede imprimir utilizando la siguiente ⽅ llevarse a cabo debido a la conversión
var t int
var x interface{}
x = t
y, ok = x.(int) //转成int,带检查
Obtiene el tipo 4
func justify(items ...interface{}) {
for index, v := range items {
switch v.(type) {
case int:
fmt.Printf("第 %d 个参数 is int\n", index)
case int32:
fmt.Printf("第 %d 个参数 is int32\n", index)
case float32:
fmt.Printf("第 %d 个参数 is float32\n", index)
}
}
}
func main(){
var a int
var b float32
var c int32
justify(a, b, c)
}