08 - 程序结构

从第8节开始的接下来几章节,将会对 go 的程序结构方面的知识进行详解

一、程序结构

1. 包结构

go 语言的运行程序当中,少不了类似于 C/C++ 的 main 函数的入口; 而在 go 语言当中,其程序运行的起来为 main 包, 而 main 函数是不可缺少的一部分:
以下是一个完整的 go 程序结构分析如下:

package main // 声明的 main 包, 它指明了当前 xx.go 文件属于某个包

import "fmt" // 引入的其他包,需要在程序运行前,加载其他包之间的依赖关系

const freezingF, boilingF = 32.0, 212.0  // 包一级变量对包外不可见
// const Zero = 0 // 包一级变量,对外包外可见 
func main() {  // 程序的入口
    fmt.Printf("%g F = %g C\n", freezingF, fToC(freezingF))
    fmt.Printf("%g F = %g C\n", boilingF, fToC(boilingF))
}

func fToC(f float64) float64 { // 包一级函数 对外不可见
    return (f - 32) * 5 / 9
}

分析:
一个 xx.go 文件分为三个部分组成

  • 包声明:必须存在
  • import 依赖库:若引用了包,就必须使用,不然会用编译报错
  • 包函数: 包中定义的函数

2. 可见性

包级别的函数或者变量,都有对包外的可见性选择,如果其名字的首个字母是大写那么将会对包外可见,如果起名字的首个字母不是大写那么仅仅只是在包内可见。这类似于 C/C++ 当中的 xx.cpp 文件,若要对其他模块可见, 需要使用 extern 关键字加以修饰,并通过头文件包含而对其他模块可见.。

package hello

var integer int = 250 // 包内可见,包外不可见
var Integer int = 250 // 包内可见,包外可见
func println() {  // 包内可见,包外不可见
	
}

func Println() {  // 包内可见,包外可见
	
}


总结

  • go 程序结构
  • 函数变量的包的可见性

猜你喜欢

转载自blog.csdn.net/xiaomiCJH/article/details/86421270