golang的包允许出现相同的函数吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang的包允许出现相同的函数吗相关的知识,希望对你有一定的参考价值。

golang包内不允许有重复的函数。
  golang函数是大小写敏感的,所以可以有:
  func getName() string
  func GetName() string
即使是包分在多个文件里面也不允许出现两个。
  func getName() string
  func getName() string
这样编译是会报错的。

Golang:
  Go是Google开发的一种编译型,可平行化,并具有垃圾回收功能的编程语言。
  罗布·派克(Rob Pike),罗伯特·格瑞史莫(Robert Griesemer),及肯·汤普逊于2007年9月开始设计Go语言,稍后Ian Lance Taylor, Russ Cox加入项目中。Go语言是基于Inferno操作系统所开发的。[4]Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。
参考技术A   golang一个包内不允许有重复的函数。

  golang函数是大小写敏感的,所以可以有
  

  func getName() string

  func GetName() string

  即使是包分在多个文件里面也不允许出现两个
  func getName() string
  func getName() string
  这样编译是会报错的本回答被提问者和网友采纳

GoLang的包

1、原理

技术图片

2、概念

go的每一个文件都是属于一个包的,也就是说go是以包的形式来管理文件和项目目录结构的

3、作用

  • 区分相同名字的函数、变量等标识符
  • 当程序文件很多时,可以很好的管理项目
  • 控制函数、变量等访问范围,即作用域

4、打包和引包

4.1、打包

import 包名

4.2、引包

import "包的路径"

5、注意事项

  1. 在给一个文件打包时,该包对应一个文件夹,比如这里的utils文件夹对应的包名就是utils,文件的包名通常和文件所在的文件夹名一致,一般为小写字母。

  2. 当一个文件要使用其它包函数或变量时,需要先引入对应的包

    // 方式一
    import "包名"
    
    // 方式二
    // 
    // 
    import (
     "包1",
        "包2"
    )
  3. package指令在文件第一行,然后是import指令
  4. 在import包时,路径从$GOPATHsrc下开始,不用带src,编译器会自动从src下开始引入
  5. 为了让其它包的文件,可以访问到本包的成员,则该成员名的首字母需要大写,类似其它语言的public,这样才能跨包访问

  6. 在访问其它包函数,变量时,其语法是包名.函数名

  7. 如果包名较长,Go支持给包取别名,注意细节:取别名后,原来的包名就不能使用了

    import 别名 "包路径"
  8. 如果你要编译成一个可执行程序文件,就需要将这个包声明为main,即package main.这个就是一个语法规范,如果你是写一个库,包名可以自定义

    技术图片

以上是关于golang的包允许出现相同的函数吗的主要内容,如果未能解决你的问题,请参考以下文章

GoLang的包

从golang中的包中获取导出函数列表

数据结构和算法(Golang实现)简单入门Golang-包变量和函数

如何在golang中测试主要的包功能?

[golang]go中函数和方法的区分

如何在golang使用自定义的包