如何在julia类型声明中定义类型的元组';s

如何在julia类型声明中定义类型的元组';s,julia,type-declaration,Julia,Type Declaration,如何为julia函数声明特定类型的元组 这项工作: function f(x, y)::Int8 x+y end julia> f(2, 3) 5 这也有效: function g(x, y)::Tuple x+y, x*y end julia> g(2, 3) (5, 6) 但是我不知道如何定义元组中的类型 例如,这会引发一个错误: function h(x, y)::Tuple(::Int8, ::Int8) x+y, x*y end

如何为julia函数声明特定类型的元组

这项工作:

function f(x, y)::Int8
    x+y
end

julia> f(2, 3)
  5
这也有效:

function g(x, y)::Tuple
    x+y, x*y
end

julia> g(2, 3)
  (5, 6)
但是我不知道如何定义元组中的类型

例如,这会引发一个错误:

function h(x, y)::Tuple(::Int8, ::Int8)
    x+y, x*y
end
  ERROR: syntax: invalid "::" syntax around REPL[48]:2
还有一个问题:

function k(x, y)::Tuple(Int8, Int8)
    x+y, x*y
end

julia> k(2, 3)
  ERROR: MethodError: no method matching Tuple(::Type{Int8}, ::Type{Int8})

使用大括号并省略元组元素类型的

function k(x, y)::Tuple{Int8, Int8}
    x + y, x * y
end

julia> k(2, 3)
(5, 6)

只是一个注释:您通常可以完全避免这些类型注释,并相信编译器的类型推断魔术将为您完成这项工作。