golang学习笔记-程序结构-声明

发布时间:2020-01-04编辑:lianpenglin阅读(1820)

        Go程序存储在一个或多个以.go为后缀的文件里。每一个文件以package声明开头,表明文件属于哪个包。package声明后面是import声明,然后是包级别的类型、变量、常量、函数的声明,不区分顺序。例如,下面的程序声明一个常量、一个函数和一对变量:

        package main
        import "fmt"
        const boilingF = 212.0
        func main(){
            var f = boilingF
            var c = (f-32)*5/9
            fmt.Printf("boiling point = %g or %g \n",f,c)
            //输出
            // boiling point = 212 or 100
        }

        常量boilingF是一个包级别的声明(main包),f和c是属于main函数的局部变量。包级别的实体名字不仅对于包含其声明的源文件可见,而且对同一个包里面的所有源文件都可见。另一方面,局部声明仅仅是在声明所在的函数内部可见,并且可能对于函数中的一小块区域可见。

        函数的声明包含一个名字、一个参数列表(由函数的调用者提供的变量)、一个可选的返回值列表,以及函数体(起重包含具体逻辑语句)。如果函数不返回任何内容,返回值列表可以省略。函数的执行从第一个语句开始,直到遇到一个返回语句,或者执行到无返回结果的函数的结尾。然后程序控制和返回值(如果有的话)都返回给调用者。

        我们已经看过许多汗水,将来还会遇见更多,因此这里仅仅是一个概括。下面的函数fToC封装了温度转换的逻辑,这样它可以只定义一次而在多个地方使用。这里main调用了它两次,使用两个不同的局部常量的值:

        package main
        import "fmt"
        func main(){
            const freezingF,boilingF = 32.0,212.0
            fmt.PrintF("%g°F = %g℃\n",freezingF,ftoC(freezingF))//"32℃ = 0℃"
            fmt.PrintF("%g°F = %g℃\n",boilingF ,ftoC(boilingF ))//"32℃ = 0℃"
        }
        func fToC(f float64) float64 {
            return (f-32)*5/9
        }


标签golang

如果对你有用打赏一下吧!