public

可以访问自己模块中源文件里的任何实体,别人也可以通过引入该模块来访问源文件里的所有实体。

internal (default)

可以访问自己模块中源文件里的任何实体,但是别人不能访问该模块中源文件里的实体。

fileprivate

文件内私有,只能在当前源文件中使用。

private

只能在类中访问,离开了这个类或者结构体的作用域外面就无法访问。