本文整理汇总了Golang中reflect.Type.Align方法的典型用法代码示例。如果您正苦于以下问题:Golang Type.Align方法的具体用法?Golang Type.Align怎么用?Golang Type.Align使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reflect.Type
的用法示例。
在下文中一共展示了Type.Align方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: MatchHeaders
func MatchHeaders(b reflect.Type, slice interface{}, header reflect.SliceHeader) (e error) {
h, s, al := SliceHeader(slice)
switch {
case s != int(b.Size()):
e = HeaderMismatch{"%v: slice element size should be %v not %v", b.Name(), b.Size(), s}
case al != b.Align():
e = HeaderMismatch{"%v: slice element alignment should be %v not %v", b.Name(), b.Align(), al}
case h.Data != header.Data:
e = HeaderMismatch{"%v: slice headers should point to the same memory: %v - %v", b.Name(), h.Data, header.Data}
case h.Len != header.Len:
e = HeaderMismatch{"%v: slice header lengths should be the same: %v - %v", b.Name(), h.Len, header.Len}
case h.Cap != header.Cap:
e = HeaderMismatch{"%v: slice header capacities should be the same: %v - %v", b.Name(), h.Cap, header.Cap}
}
return
}