class Array {
public static int MAX_SIZE = 42;
}
Array arr = new Array();
int size = Array.MAX_SIZE;
因此,我们可以创建类Array
的对象,并且我们还有类Array
的属性。 Go中这段代码的等价性是什么?
答案 0 :(得分:1)
Go没有课程。 Go没有静态变量。所以没有等价物。
Go最接近的概念是包常量和结构字段。这两者与你正在寻找的完全不同。
答案 1 :(得分:0)
这不是一个简单的等价物:
let x: { (): Array<string>; maz: Array<string>; };
x = (() => {
var _x : any = function () { };
_x.maz = [];
return _x;
})();
let y: { (): void; maz: Array<string> } = (() => {
let _y: any = function fake(): Array<string> {
return ((cb: any): Array<string> => {
return cb.maz;
})(fake);
}
_y.maz = [];
return _y;
})();
在另一个地方:
package array
type Array struct {}
const MaxSize int = 42
答案 2 :(得分:0)
如果您尝试使用Java进行编程,那么您的代码将非常糟糕。忘记Java,Go中的程序。 Go没有课程。
在Go中,您可能会看到类似的内容(它不是Java类):
package array
const MaxSize = 42
type Array struct {
slice []byte
}
func New(size int) *Array {
if size < 0 {
return nil
}
if size > MaxSize {
size = MaxSize
}
return &Array{slice: make([]byte, size)}
}
func (a *Array) Size(size int) int {
if a == nil {
return 0
}
return len(a.slice)
}