macbook下 go 语言的 helloworld

  • go语言开发的目录

    一般go语言$GOPATH 目录约定有三个子目录:
    • src 存放源代码(比如:.go .c .h .s等)
    • pkg 编译后生成的文件(比如:.a)
    • bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)
  • go语言开发目录规划

    GOPATH下的src目录就是接下来开发程序的主要目录,所有的源码都是放在这个目录下面,那么一般我们的做法就是一个目录一个项目,例如: $GOPATH/src/mymath 表示mymath这个应用包或者可执行应用,这个根据package是main还是其他来决定,main的话就是可执行应用,其他的话就是应用包

  • helloworld的创建
    下面就以mymath为例来讲述如何编写应用包,执行如下代码:
    cd $GOPATH/src
    mkdir mymath
    

    新建文件 sqrt.go,内容如下:

    package mymath
    
    func Sqrt(x float64) float64 {
    	z := 0.0
    	for i := 0; i < 1000; i++ {
    		z -= (z*z - x) / (2 * x)
    	}
    	return z
    }
    

     注意:一般建议package的名称和目录名保持一致

    此时,应用包已经创建完毕,下面就是安装应用包,有如下两种方式安装:

    1、只要进入对应的应用包目录,然后执行go install,就可以安装了

    2、在任意的目录执行如下代码go install mymath

    安装完成后,通过命令:

    cd $GOPATH/pkg/${GOOS}_${GOARCH}
    

    可以看到文件 mymath.a  

    至此,已经建立好应用包,下面建立一个程序来调用应用包,新建应用包  mathapp

    cd $GOPATH/src
    mkdir mathapp
    cd mathapp
    vim main.go
    

     main.go 的源码如下:

    package main
    
    import (
    	"mymath"
    	"fmt"
    )
    
    func main() {
    	fmt.Printf("Hello, world.  Sqrt(2) = %v\n", mymath.Sqrt(2))
    }
    

     进入应用的目录,执行 go build 就会生成一个 mathapp 的可执行文件,执行如下命令:

    ./mathapp
    

     就会得到如下输出:

    Hello, world.  Sqrt(2) = 1.414213562373095
    

     

   

posted @ 2017-10-26 19:02  talk_is_cheap  阅读(205)  评论(0编辑  收藏  举报