zoukankan      html  css  js  c++  java
  • go语言学习三

    // demo/x/a/A.go
    package math  // 在 x/a 目录下没有采用默认的与目录同名的包名也是可以的,这样正好测试出引用用的是目录路径,调用却用的是代码文件中声明的包名
    
    func Add(x,y int) int {
    	return x + y
    }
    
    //////////////////////////////
    
    // demo/y/a/A.go
    package math // 两个不同路径下定义了相同的包名
    
    func Mul(x,y int) int {
    	return x * y
    }
    
    //////////////////////////////
    
    // demo/main.go
    package main
    
    import (
    
    //可以给这个路径下的代码文件包指定一个别名,这样就不管代码中用的什么包名,还可以避免不同路径下包名冲突的问题
    	"./x/a" 
    
    //import的实际上是代码文件的目录路径,不过 一个路径可以有很多代码文件,但这些代码文件必须都在相同的一个包下
    	mathx "./y/a" 
    
    	"fmt"
    
    )
    
    func main() {
    	
    	//默认情况最后一级目录名和代码文件声明的包名是相同的
    	// 这里故意声明为不同 就测试出了 调用时用的其实不是最后一级 目录名 而是代码文件声明的 包名
    	fmt.Println(math.Add(2, 3))
    	
    	//使用指定的别名调用包内的函数,
    	fmt.Println(mathx.Mul(2, 3)) 
      
    }
  • 相关阅读:
    泰国行记三:PP岛三天的休闲时光
    泰国行记二:普吉印象
    177. Nth Highest Salary
    176. Second Highest Salary
    175. Combine Two Tables
    Regular Expression Matching
    斐波那契数列
    用两个栈实现队列
    二叉树的下一个节点
    重建二叉树
  • 原文地址:https://www.cnblogs.com/scala/p/9545269.html
Copyright © 2011-2022 走看看