zqiz 发表于 2024-5-13 16:29:06

GO语言接口、结构在火山GO服务器中怎样写?

下列源码,在GO服务器中怎样写?鼓捣半天还是不会写,请大佬以下列源码做个样例,谢谢。
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()

}


创世魂 发表于 2024-5-13 20:04:19


可能我技术有限,只能做到这个地步。。
给你参考一下



<火山程序 类型 = "通常" 版本 = 1 />

类 测试接口1 <公开 折叠 @输出名 = "Phone" @别名 = "Phone" @别名类型 = 本地参考类型>
{
    方法 call <公开 静态 @嵌入式方法 = "">
    参数 所处理本对象 <类型 = 测试接口1>
    {
      @ @<所处理本对象>.call ()
    }
}

类 IPhone <公开 折叠 @输出名 = "IPhone">
{
    变量 测试接口1 <类型 = 测试接口1 @接口 = 真>

    方法 call <公开 @输出名 = "call" @强制输出 = 真>
    {
      换行输出 ("IPhone")
    }
}

类 NokiaPhone <公开 折叠 @输出名 = "NokiaPhone">
{
    变量 测试接口1 <类型 = 测试接口1 @接口 = 真>

    方法 call <公开 @输出名 = "call" @强制输出 = 真>
    {
      换行输出 ("NokiaPhone")
    }
}

类 启动类 <公开 基础类 = 程序类>
{
    方法 启动方法 <公开 类型 = 整数>
    {
      // 在此处填入自己的代码

      变量 phone1 <类型 = NokiaPhone>
      phone1.call ()
      变量 phone2 <类型 = IPhone>
      phone2.call ()

      返回 (1)
    }
}

fengyishen 发表于 2024-5-14 13:38:11



正在学习中,以上代码谨供参考。

zqiz 发表于 2024-5-14 16:42:33

fengyishen 发表于 2024-5-14 13:38
正在学习中,以上代码谨供参考。

谢谢,对着go语言的书籍学习,不知怎么用火山go去写。

zqiz 发表于 2024-5-14 16:44:24

创世魂 发表于 2024-5-13 20:04
可能我技术有限,只能做到这个地步。。
给你参考一下

谢谢,魂。好像和接口没多大关系呀。去掉成员变量,也可以运行呀。
页: [1]
查看完整版本: GO语言接口、结构在火山GO服务器中怎样写?