Go 声明
1、Go 语言有四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。
2、一个Go 语言编写的程序对应一个或多个以go 为文件后缀名的源文件,每个源文件中以package的声明语句开始,说明该源文件属于哪个包。package声明语句之后是import 语句导入依赖的其他package ,然后就是包的一级声明的类型、变量、常量、函数的语句,包一级的各种声明语句的顺序无关紧要(译注:函数内部的名字则必须先声明之后才能使用)
demo1:声明一个常量、一个函数和两个变量。
package main
import "fmt" // 导包
const boiF=212.0 // 全局声明
func main() {
var f = boiF // 局部声明
var c = (f - 32) * 5 / 9 // 局部声明
fmt.Printf(" boiF print f = %g or c = %g \n",f , c)
// Output;
// boiF print f = 212 or c = 100
}
常量boiF是包级一级范围声明语句,f 和 c 是main 函数内部声明的声明语句,在包的一级声明语句的变量可在整个包对应的每个源文件中访问,而不是仅仅在其声明的语句所在的源文件中访问。相比之下,局部声明的变量就只能在函数内部很小的范围被访问。
func关键字的声明函数由一个函数名字,参数列表,一个可选的返回值列表包含函数定义的函数体组成。如果函数没有返回值,那么返回值列表可以省略。执行函数从函数的第一个语句开始,依次顺序执行知道遇到return返回语句,如果没有return 语句则执行到函数末尾,然后返回到函数调用者。
demo2:main 函数就调用了两次 fToC函数,分别使用在局部定义的两个常量作为调用函数的参数。
package main
import "fmt"
func main () {
const frreF , boiF = 32.0, 212.0
fmt.Printf("f=%g ftoC=%g \n",frreF,fToC(frreF)) //f=32 ftoC=0
fmt.Printf("f=%g ftoC=%g \n",boiF ,fToC(boiF)) // f=212 ftoC=100
}
func fToC(f float64) float64 {
return (f - 32) * 5 / 9
}