os.Mkdir并且syscall.Mkdir在Golang中都有相同的API
syscall.Mkdir:
func Mkdir(path string, mode uint32) (err error)
Run Code Online (Sandbox Code Playgroud)
os.Mkdir:
func Mkdir(name string, perm FileMode) error
Run Code Online (Sandbox Code Playgroud)
他们之间有什么区别?
最近读了《Go编程语言书》,这是学习golang编程语言的好资源。\n6.2节中有一段关于类型的复制实例T在方法中是否是指针接收者时类型的复制实例,我无法理解。 \n有没有用一个有意义的例子来解释这一段?
\n\n6.2 使用指针接收器的方法
\n\n如果命名类型 T 的所有方法都有 T 本身的接收者类型(不是 *T ),则复制该类型的实例是安全的;调用它的任何方法都必然会生成一个副本。例如,time.Duration 值可以自由复制,包括作为函数的参数。但是,如果任何方法具有指针接收器,则应避免复制 T 的实例,因为这样做可能会违反内部不变量。例如,复制 bytes.Buffer 的实例将导致原始和副本为相同的底层字节数组别名( \xc2\xa72.3.2 )。后续的方法调用将产生不可预测的效果。
\n\n(Go 编程语言 Alan AA Donovan \xc2\xb7 Brian W. Kernighan)
\n