你好,Go

uudou · · 1348 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

学习教程: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关键字


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:uudou

查看原文:你好,Go

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

1348 次点击  
加入收藏 微博
1 回复  |  直到 2000-01-01 00:00:00
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传