no puede usar la función como tipo en el argumento: Solución de problemas
Este error ocurre al intentar pasar una función como argumento a otra función, pero la firma de la función no coincide con el tipo esperado. Particularmente en el caso de la programación de GO, este problema surge cuando intenta aprobar una función que toma un parámetro estructurado específico y devuelve una interfaz y error como requisito para otra función.
comprender el problema [&]
el mensaje de error "no puede usar la función (tipo de tipo func ()) como el argumento" significa que la función que está tratando de pasar por la que está intentando que intente que intente que intente que intente está intentando que intente que intente está intentando que intente que intente que intente está intentando que intente que intente hacer que intente está intentando que intente que intente que intente hacer que intente hacer que intente hacer que intente hacer que intente está intentando que intente que intente hacer que intente hacer que intente que intente que intente que intente hacer para que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente que intente. En este caso, el argumento espera una implementación de la interfaz de MessageHandler, que tiene una firma de función específica.
arreglando el problema
para resolver este error, debe asegurarse de que su función se adhiera a la firma esperada de la interfaz de MessageHandler:MessageNivere (MessageEntyer (MessageGelEnteryer (MessageGelEntere) (MessageElyivere (MessageEntyere) (Interface {}, error)
type MessageHandler func(MessageDelivery) (interface{}, error)esto significa que su función debe:
[&] el primer valor debería ser del tipo de interfaz. be an error.
func UpperCaseHandler(md MessageDelivery) (interface{}, error) { S.Rply (MessageTest {Strings.ToUpper (Md.Message. (String))}, Md.Delivery) regresar nulo, nulo } FUNC REPEATHANDLER (MD MessageElivery) (interfaz {}, error) { S.Rply (MessageTest {Strings.repeat (Md.Message. (String), 5)}, Md.Delivery) regresar nulo, nulo }
Ahora, estas funciones son compatibles con la interfaz MessageHandler y pueden aprobarse como argumentos al método ConsumerFunc ().Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3