你好,Go

学习教程:Go Web编程.pdf,点击免费下载。
学习视频:网易的云课堂:Go编程基础

Go基础系列文档更多的是记录我的学习点滴,增强自己的学习效果,可能是很基础的东西,希望别喷我哦。

在上一篇Go环境安装我们成功安装了Go环境,接下来的一步就是写一个hello world的程序感受感受下Go语言的魅力。

上一篇Go环境安装中,我们设置了GOPATH的工作目录,先来看看我的目录结构。

jindg@nc:~/goWorkProjects/goPath$ tree
.
├── bin//(存放编译后生成的可执行文件)
│   └── helloworld//本文的小程序go install生产的可执行文件
├── pkg//(存放编译后生成的包文件)
└── src//(存放项目源码)
    └── helloworld//本文要讲的helloword小程序工程
        └── helloworld.go

上面的目录结构应该不难看出我是在GOPATH下的src目录中建我工程。

先来看看hellowold.go源码

package main

import "fmt"

func main() {
    fmt.Print("hello world! Go!")
}

go程序的一般结构:

  • 通过package来组织的,package main这一行告诉我们当前的文件属于哪个包,编译后会生成*.a文件,并放在$GOPATH/pkg/$GOOS_$GOARCH文件夹中;如果为main包,则告诉我们它是一个可独立运行包,编译后会产生可执行文件。
    备注:如果将上面package后面的main改为test_main,函数main改为test_main。当前目录执行go install。然后再来看看pkg的目录结构:
├── pkg
│   └── linux_amd64
│       └── helloworld.a//与go源文件所在文件名相同,所以我们一般建议package后面的包名跟所在文件名保持一致
  • 每个可独立运行的Go程序,必定包含一个package main,在这个main包中必定包含一个入口函数main,且这个函数没有参数,也没有返回值。这点跟C、java不一样哎。
  • 我们需要用到某个包的函数时,必须import它,helloworld用到的fmt包的Print函数,因此需要import “fmt”;但是如果用不到某个包,Go绝不允许import它,否则会编译会报错,这~~~,要求的确严,不过也有好处,不该用的包本身就不应该impot,程序就应该有严谨性。
  • fun关键字指示这是一个函数,main函数中调用了fmt包的Print函数。

本文的知识点:
1. 工程目录结构
2. pkg包的生成以及包名跟文件名、package 包名三者的联系
3. 入口函数main
4. fun关键字

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章