相关疑难解决方法(0)

Go 的通用结构

Go 中的 C# 代码相当于什么,我该如何构建它

    class ModelX<T>
    {
        public T Data { get; set; }
    }

    ModelX<int>
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的事情:

    type ModelX<T> struct {
        ModelY
        Data []T
    }

    m := ModelX<T>
Run Code Online (Sandbox Code Playgroud)

这个怎么做?那可能吗?

generics struct go

37
推荐指数
1
解决办法
6万
查看次数

为什么Golang需要接口?

在Golang中,我们使用带接收器方法的结构.一切都很完美到这里.
但是,我不确定接口是什么.我们在结构中定义方法,如果我们想在结构上实现一个方法,我们再次在另一个结构下编写它.
这意味着接口似乎只是方法定义,只占用了页面上额外不需要的空间.

有没有例子解释我为什么需要一个界面?

struct interface go

29
推荐指数
4
解决办法
9325
查看次数

为什么这个简单的Go程序比它的Node.js对应程序慢?

我试图使用Go来实现叶子上带有值的二叉树,即相当于:

data Tree a 
  = Node {left: Tree, right: Tree} 
  | Leaf {value: a}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:1,我无法找到一种方法来创建一个包含多个构造函数的类型,所以我必须将所有数据放在一个中.2,我不能使它变成多态,所以我不得不使用interface{}(我猜这是类型系统的"选择退出"?).这是我能做的最好的:

package main

import ("fmt")

type Tree struct {
  IsLeaf bool
  Left *Tree
  Value interface{}
  Right *Tree
}

func build(n int) *Tree {
  if (n == 0) {
    return &Tree{IsLeaf: true, Left: nil, Value: 1, Right: nil}
  } else {
    return &Tree{IsLeaf: false, Left: build(n - 1), Value: 0, Right: build(n - 1)}
  }
}

func sum(tree *Tree) int {
  if (tree.IsLeaf) {
    return …
Run Code Online (Sandbox Code Playgroud)

javascript performance go

8
推荐指数
1
解决办法
398
查看次数

Go中的仿制药会是什么?

最近有很多关于Golang的批评,因为它不支持泛型.这到底是什么意思呢?您如何向来自Ruby等动态类型语言的人解释这一点,这不是一个熟悉的概念?

go

7
推荐指数
1
解决办法
786
查看次数

go编程语言中的任何类型和实现泛型列表

我正在尝试一些编程语言.

我对Go的简单性感到兴奋,但在玩完之后我遇到了一些麻烦.

1.我知道Go不支持泛型和继承.有没有办法实现通用列表?

我考虑使用:

type Any interface { }
Run Code Online (Sandbox Code Playgroud)

但是如何检查值是否为NULL.
我正在寻找一些与C相当的实现

struct List {
  List* tail;
  void* head;
}
Run Code Online (Sandbox Code Playgroud)

或者使用代数数据类型:

data List a = Nil | Cons a (List a)
Run Code Online (Sandbox Code Playgroud)


2.更高级的要求是为具有特定类型字段的对象制作一些容器?
例如,在Scala编程语言中,我可以键入:

val List[Animal { type SuitableFood = Grass} ]
Run Code Online (Sandbox Code Playgroud)

得到ListAnimals,其中有一个成员类型SuitableFoodGrass

oop interface go

3
推荐指数
1
解决办法
4367
查看次数

标签 统计

go ×5

interface ×2

struct ×2

generics ×1

javascript ×1

oop ×1

performance ×1