New to Julia, walking through the manual and got to this example under Methods:
julia> mytypeof(x::T) where {T} = T
mytypeof (generic function with 1 method)
When you call this method with values for x
, it gives you back the type:
julia> mytypeof(1)
Int64
julia> mytypeof(1.0)
Float64
My question is: why does this return a value at all? Where, in other words, is the implied return value?
You should read
mytypeof(x::T) where {T} = T
As
(mytypeof(x::T) where {T}) = T
That is, the = T
is not part of the where
clause; it's the RHS of the function.
In Julia, by default, the last value of a function body is automatically returned.
In your case the function body is just T
. Hence, T
gets returned. (Think of it actually being return T
.)
If you don't want to return anything you can return nothing
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With