用法:
write(io::IO, x)
write(filename::AbstractString, x)
将值的规范二进制表示写入给定的 I/O 流或文件。返回写入流的字节数。另请参见
以编写文本表示(使用可能取决于 print
io
的编码)。
写入值的字节顺序取决于主机系统的字节顺序。在写入/读取时(例如使用
和 htol
)转换为/从固定字节序转换以获得跨平台一致的结果。ltoh
您可以使用相同的write
调用写入多个值。即以下是等效的:
write(io, x, y...)
write(io, x) + write(io, y...)
例子
一致的序列化:
julia> fname = tempname(); # random temporary filename
julia> open(fname,"w") do f
# Make sure we write 64bit integer in little-endian byte order
write(f,htol(Int64(42)))
end
8
julia> open(fname,"r") do f
# Convert back to host byte order and host integer type
Int(ltoh(read(f,Int64)))
end
42
合并写调用:
julia> io = IOBuffer();
julia> write(io, "JuliaLang is a GitHub organization.", " It has many members.")
56
julia> String(take!(io))
"JuliaLang is a GitHub organization. It has many members."
julia> write(io, "Sometimes those members") + write(io, " write documentation.")
44
julia> String(take!(io))
"Sometimes those members write documentation."
当包装在 Ref
中时,可以编写没有 write
方法的用户定义的 plain-data 类型:
julia> struct MyStruct; x::Float64; end
julia> io = IOBuffer()
IOBuffer(data=UInt8[...], readable=true, writable=true, seekable=true, append=false, size=0, maxsize=Inf, ptr=1, mark=-1)
julia> write(io, Ref(MyStruct(42.0)))
8
julia> seekstart(io); read!(io, Ref(MyStruct(NaN)))
Base.RefValue{MyStruct}(MyStruct(42.0))
相关用法
- Julia widemul用法及代码示例
- Julia widen用法及代码示例
- Julia while用法及代码示例
- Julia splice!用法及代码示例
- Julia @cfunction用法及代码示例
- Julia LibGit2.count用法及代码示例
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- Julia break用法及代码示例
- Julia sizeof()用法及代码示例
- Julia :<=用法及代码示例
- Julia zero()用法及代码示例
- Julia rem用法及代码示例
- Julia ...用法及代码示例
- Julia setfield()用法及代码示例
- Julia rpad用法及代码示例
- Julia sort用法及代码示例
- Julia tail用法及代码示例
- Julia cis方法用法及代码示例
- Julia SparseArrays.spdiagm用法及代码示例
- Julia Distributed.procs方法用法及代码示例
- Julia Filesystem.mkpath用法及代码示例
- Julia cld用法及代码示例
- Julia sqrt方法用法及代码示例
- Julia LinearAlgebra.bunchkaufman用法及代码示例
- Julia union!用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.write — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。