您身边的网站建设专家
成功案例

【建站服务】象山淘宝装修/象山京东店铺设计/象山拼多多网店装修公司/象山企业网店开通申请-网店装修设计-域名申请

日期: 2022-09-21 05:53:15 浏览数:4


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


象山淘宝装修/象山京东店铺设计/象山拼多多网店装修公司/象山企业网店开通申请-网店装修设计

网站建设.png

o 语言接口

Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。

实例

实例

/* 定义接口 */
type interface_name interface {
   method_name1 [return_type]
   method_name2 [return_type]
   method_name3 [return_type]
   ...
   method_namen [return_type]
}

/* 定义结构体 */
type struct_name struct {
   /* variables */
}

/* 实现接口方法 */
func (struct_name_variable struct_name) method_name1() [return_type] {
   /* 方法实现 */
}
...
func (struct_name_variable struct_name) method_namen() [return_type] {
   /* 方法实现*/
}

实例

实例

package main

import (
    "fmt"
)

type Phone interface {
    call()
}

type NokiaPhone struct {
}

func (nokiaPhone NokiaPhone) call() {
    fmt.Println("I am Nokia, I can call you!")
}

type IPhone struct {
}

func (iPhone IPhone) call() {
    fmt.Println("I am iPhone, I can call you!")
}

func main() {
    var phone Phone

    phone = new(NokiaPhone)
    phone.call()

    phone = new(IPhone)
    phone.call()

}

在上面的例子中,我们定义了一个接口Phone,接口里面有一个方法call()。然后我们在main函数里面定义了一个Phone类型变量,并分别为之赋值为NokiaPhone和IPhone。然后调用call()方法,输出结果如下:

I am Nokia, I can call you!I am iPhone, I can call you!


接口增加参数:


package main                                                                           


import (

    "fmt"

)

type Man interface {

    name() string;

    age() int;

}


type Woman struct {

}


func (woman Woman) name() string {

   return "Jin Yawei"

}

func (woman Woman) age() int {

   return 23;

}


type Men struct {

}


func ( men Men) name() string {

   return "liweibin";

}

func ( men Men) age() int {

    return 27;

}


func main(){

    var man Man;


    man = new(Woman);

    fmt.Println( man.name());

    fmt.Println( man.age());

    man = new(Men);

    fmt.Println( man.name());

    fmt.Println( man.age());

}

Webben

   Webben


  wei***_li@126.com


4年前 (2018-06-01)

   杀手


  zho***ng920@foxmail.com


81

func (name string) imp() string{

    print("这是实现方法的写法")

}


func sum(x int,y int) int{

    print("这是正常写法")

}

杀手

   杀手


  zho***ng920@foxmail.com


4年前 (2018-09-18)

   mrstone


  dam***tone@163.com


19

接口方法传参,以及返回结果:


package main


import "fmt"


type Phone interface {

    call(param int) string

    takephoto()

}


type Huawei struct {

}


func (huawei Huawei) call(param int) string{

    fmt.Println("i am Huawei, i can call you!", param)

    return "damon"

}


func (huawei Huawei) takephoto() {

    fmt.Println("i can take a photo for you")

}


func main(){

    var phone Phone

    phone = new(Huawei)

    phone.takephoto()

    r := phone.call(50)

    fmt.Println(r)

}

mrstone

   mrstone


  dam***tone@163.com


3年前 (2019-04-25)

   啊啊啊


  644***5693@qq.com


34

接口案例:


package main

import (

    "fmt"

)



//定义接口

type Phone interface {



象山淘宝装修/象山京东店铺设计/象山拼多多网店装修公司/象山企业网店开通申请-网店装修设计



上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站