声明包
java和go都使用package
来声明包,java中使用package的目的是:避免命名冲突、实现访问控制、提供类的定位和搜索;比如在java的文件one.java和two.java中分别使用package来声明自己所在包的路径,用于对其他调用该类的地方提供唯一的访问路径;
在java中,包具有访问权限,某个调用具有访问某个包的权限时才可以访问该包中类
在go中,包的声明依旧使用package
引入包
同时再以java为例,假设存在两个文件,在one.java通过使用import
来定位two.java声明的包的位置来搜索two.java所在的位置,从而达到操作two.java中方法和属性的目的。
java中需要把引入包的import语句写在声明包的package语句前面
在python中,包的引入和声明与java不同,在python中,一个文件夹中存在__init__.py文件时,才会被认为是一个python的package;在python中,使用import/from ... import ...
来引入某个需要被调用某个包的类或者某个类的方法(所在路径)
在go中,包的引入依旧使用import
,与java的使用习惯类似;使go与python的import对比,go中使用import引入的是包,且引入某个包时需要加上""
;python引入的是类/模块/方法/变量等;
格式化打印"hello"字符
package main
// 导入fmt包,fmt是一个包!
import "fmt"
func print_hello(){
fmt.Print("hello")
}
go run 和 go build
go run运行源代码程序
go build生成二进制可执行文件
package main
每个go应用程序都包含一个名为main的包;
大写字母和小写字母(权限问题)
当一个包中的标识符使用大写字母开头,则该标识符可以被引入该包的调用者使用(public
);当一个包中的标识符使用小写字母开头,则该标识符对包外是不可见的,而对包内是可见且可用(protected
);
左花括号不能单独一行
在go中,定义函数时,左花括号不能够单独一行,否则会报错;(或许是强迫症开发者的任性)