第二十二篇:使用接口简化代码(2)传递接口参数和断言

  一:引言:上篇代码也可以不使用SaveModel方法而在结构体struct里是可以把自己也给返回出来的

   步骤一:

 

 

   步骤二:

  

 

 

 

 

  步骤三:

 

 

  二:上面我们做了个没有参数的调用类方法的调用,在实际开发中类方法中要有参数的传递比如save()里面需要有参数

  但是要传递什么?比如我们的案例中有UserService和ProdService 所以我们要传也要传不同的实体,之前定义过

  一个User.go,这个实体里面我们使用了对应的技巧来完成不同属性的设置,或者不设置,在我们的UserService里面如果

  要设置一个服务,也就是保存用户入库,这时候肯定要传一个

       如果我们硬要写死参数比如:

  

 

    那么我们的接口也要写成

   

 

   所以我们的接口参数要传递随便什么类型的都可以接收也就是接口类型interface

  

 

   如下修改服务参数:

   

 

   

 

   main函数调用

  

   

 

   如果不做任何判断就进行数据库操作可能会出问题,另外在调用的类方法中如果想获取属性的值,比如data.(data点)是获取不到的,因为data 的类型是个空接口

   所以我们今天了解下断言,所谓断言是针对interface接口来进行的类型判断,

   断言处理:

 

 

   

 

     main函数进行调用

   (1):传递指针类型

 

 

    (2):传递其它类型

  

 

  

 

 

 

 

  

  

posted @ 2020-05-26 14:38  痞子胥  阅读(160)  评论(0)    收藏  举报