• Go语言的GOPATH详解


    在GOLAND中设置GOPATH:

    设置好路径后,并不是直接在这个路径下面写代码文件就行了

    GO会识别GOPATH下的src目录,而真正的引用的包名,是src下的目录名,然后才是代码模块名

    目录结构如图:

    complicated.go:

    package mypack
    
    import "math"
    
    func GetDistance(xa,ya,xb,yb float64) float64 {
    	dx := xa - xb
    	dy := ya - yb
    	return math.Pow((math.Pow(dx,2)+math.Pow(dy,2)),0.5)
    }
    

    simple.go

    package mypack
    
    func Add(a, b int) (sum int) {
    	return a + b
    }
    
    func Sub(a, b int) (different int) {
    	return a - b
    }
    
    func Mul(a, b int) (product int) {
    	return a * b
    }
    
    func Div(a, b int) (quotient float64) {
    	quotient = float64(a) / float64(b)
    	return
    }
    

    最终调用脚本:

    package main
    
    import (
    	"fmt"
    	"mypack"
    )
    
    func main() {
    	product := mypack.Mul(3, 4)
    	fmt.Println(product)
    
    	distance := mypack.GetDistance(-3, -4, 3, 4)
    	fmt.Println(distance)
    }
    

    调用二级包

    目录结构:

     complicated.go:

    package mysonpack  //这里变成了子包名
    
    import "math"
    
    func GetDistance(xa,ya,xb,yb float64) float64 {
    	dx := xa - xb
    	dy := ya - yb
    	return math.Pow((math.Pow(dx,2)+math.Pow(dy,2)),0.5)
    }
    

      

    最终调用脚本:

    package main
    
    import (
    	"compress/zlib"  //SDK子包路径
    	"fmt"
    	"mypack/mysonpack"  //子包路径
    )
    
    //func main091() {
    //	product := mypack.Mul(3, 4)
    //	fmt.Println(product)
    //
    //	distance := mypack.GetDistance(-3, -4, 3, 4)
    //	fmt.Println(distance)
    //}
    
    /*使用SDK中的二级包*/
    func main092()  {
    	closer, e := zlib.NewReaderDict(nil, nil)
    	fmt.Println(closer, e)
    }
    
    /*调用自己的二级包*/
    func main() {
    	distance := mysonpack.GetDistance(-3, -4, 0, 0)
    	fmt.Println(distance)
    }
    

      

  • 相关阅读:
    Alpha冲刺
    Alpha冲刺
    Alpha冲刺
    Alpha冲刺
    抽奖系统(记一次未完成的教训)
    Alpha冲刺
    Alpha冲刺
    Alpha冲刺 (2/10)
    Alpha 冲刺 (1/10)
    软工 团队第三次作业
  • 原文地址:https://www.cnblogs.com/yunweiqiang/p/11796356.html
Copyright © 2020-2023  润新知