用法:
@view A[inds...]
将索引表达式 A[inds...] 转换为等效的   调用。view 
这只能直接应用于单个索引表达式,并且对于包含特殊 begin 或 end 索引语法(如 A[begin, 2:end-1])的表达式特别有用(因为普通   函数不支持这些语法)。view 
请注意,@view 不能用作常规分配的目标(例如,@view(A[1, 2:end]) = ...),un-decorated indexed assignment(A[1, 2:end] = ...)或广播索引分配(A[1, 2:end] .= ...)也不会复制。但是,它对于像 @view(A[1, 2:end]) .+= 1 这样的 updating 广播分配很有用,因为这是 @view(A[1, 2:end]) .= @view(A[1, 2:end]) + 1 的简单语法,并且 right-hand 端的索引表达式否则会在没有 @view 的情况下进行复制。
另请参阅  以切换整个代码块以使用视图进行非标量索引。@views 
Julia 1.5
在索引表达式中使用begin 来引用第一个索引至少需要 Julia 1.5。
例子
julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
 1  2
 3  4
julia> b = @view A[:, 1]
2-element view(::Matrix{Int64}, :, 1) with eltype Int64:
 1
 3
julia> fill!(b, 0)
2-element view(::Matrix{Int64}, :, 1) with eltype Int64:
 0
 0
julia> A
2×2 Matrix{Int64}:
 0  2
 0  4相关用法
- Julia @views用法及代码示例
 - Julia @v_str用法及代码示例
 - Julia @cfunction用法及代码示例
 - Julia @isdefined用法及代码示例
 - Julia @boundscheck用法及代码示例
 - Julia @b_str用法及代码示例
 - Julia @show用法及代码示例
 - Julia @r_str用法及代码示例
 - Julia @locals用法及代码示例
 - Julia @raw_str用法及代码示例
 - Julia @coalesce用法及代码示例
 - Julia @assert用法及代码示例
 - Julia @ccall用法及代码示例
 - Julia @task用法及代码示例
 - Julia @something用法及代码示例
 - Julia @deprecate用法及代码示例
 - Julia splice!用法及代码示例
 - Julia LibGit2.count用法及代码示例
 - Julia LinearAlgebra.BLAS.dot用法及代码示例
 - Julia break用法及代码示例
 - Julia sizeof()用法及代码示例
 - Julia :<=用法及代码示例
 - Julia zero()用法及代码示例
 - Julia rem用法及代码示例
 - Julia ...用法及代码示例
 
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.@view — Macro。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
