• Golang入门笔记(10)—— 包


            使用包的原因:

    1.不可能把所有的不同业务功能的函数都放在一个源文件中,这样不便于管理。通常的做法是:我们会把具有相同一些功能和业务的维度的函数,分门别类的放在不同的源文件中。

    2.不同的包名,可以解决两个函数同名的问题,因为在同一个函数中是不能定义两个相同的名字的函数的。这个时候也可以使用包来区分函数。

                 提前准备:我在  go-helloworld/com/cosy/util/文件夹下,建了一个go文件——myUtil.go,并在其中写了一个test 函数。使用此test函数的代码如下: 

    1. package main
    2. import (
    3. "fmt"
    4. "go-helloworld/com/cosy/util"
    5. )
    6. func main() {
    7. fmt.Println("")
    8. util.Test()
    9. }

    使用时的注意事项:

    1.  包的声明 用 package 关键字进行声明。建议:包的声明应该和所在的文件夹同名,虽然可以不一样,包和目录文件名 相同。 
    2. main包是程序的入口包,一般main函数会放在main包下。我的理解就是Go语言的运行机制它会从main包中找程序的入口。否则不能编译,不能编译就无法生成 .exe 可执行文件。
    3. 声明包语法 package 包名 和java一样。
    4. 引入包的语法是 import "包路径" 即文件夹的路径 , 包名是从 环境变量 $GOPATH/scr/后开始计算的,使用 / 进行路径的分隔。
      1. // 包名是从 环境变量 $GOPATH/scr/后开始计算的,使用 / 进行路径的分隔。
      2. import (
      3. "fmt"
      4. "go-helloworld/com/cosy/util"
      5. )
    5.    在函数调用的时候,要定位到所在的包,语法为: 包名.函数() 进行调用。
    6.    首字母大写的才可以被其他包所访问。
    7. 从事项1可知:一个目录下的文件,包声明理论上都是文件夹目录的名称,也就是说,同一目录下不能有重复的函数。亲测,如果同一个目录下,2个文件中都有一个test 方法将有编译错误提示。
    8. 一个目录下的同级文件 归属于同一个包。同一个目录同级的文件,一个 package aaa,另一个package bbb 则是不允许的。必须要相同,或者都叫 package ccc , 最佳的实践 为:package dirName。

    包的本质:

            在源文件层面上看,包就是文件夹;而站到在程序层面上看,所有使用相同 package 包名的源文件组成的某个维度的代码模块。

  • 相关阅读:
    如何在vue3+vite搭建的项目里面使用new GLTFLoader()加载gltf文件报错出现Uncaught SyntaxError: Unexpected token ':'错误?
    JMeter笔记4 | JMeter界面介绍
    记一次线上问题,拿到的不是最新的数据 → 偶尔的热情真的难顶呀!
    Unity资源无法下载 反复提示需同意Terms of Service和EULA 同意后无效的解决方案
    STM32项目 -- 选题分享(部分)
    这个面试官居然问我G1垃圾收集器
    Vue.js入门教程(二)
    嵌入式 ADC使用手册完整版 (188977万字)(附源码详细篇)
    JavaScript模块导入与编程
    linux vim用法
  • 原文地址:https://blog.csdn.net/wdw18668109050/article/details/127909694