|
1 |
| -#2.1 你好,GO |
2 |
| - |
3 |
| -在我们开始用GO写应用之前,我们先从最基本的程序开始。就像你造房子之前你不知道什么是地基一样,因此,在本小节中,我们要学习用最基本的语法让GO程序运行起来。 |
4 |
| - |
5 |
| -##程序 |
6 |
| - |
7 |
| -这就像一个传统,学习所有的语言,你应该学习编写的第一个程序就是如何输出`hello world` |
8 |
| - |
9 |
| -准备好了吗?Let's GO |
10 |
| - |
11 |
| - package main |
12 |
| - |
13 |
| - import "fmt" |
14 |
| - |
15 |
| - func main() { |
16 |
| - fmt.Printf("Hello, world; καλημ ́ρα κóσμ or こんにちは世界\n") |
17 |
| - } |
18 |
| - |
19 |
| -输出如下: |
20 |
| - |
21 |
| - Hello, world; καλημ ́ρα κóσμ or こんにちは世界 |
22 |
| - |
23 |
| -##详解 |
24 |
| -首先我们要了解一个概念,Go程序是通过`package`来组织的 |
25 |
| - |
26 |
| -`package <plaplapla>`(在我们的例子里面,plaplapla是main)这一句话是告诉我们当前这个文件属于那个包,而main包是告诉我们当前这个包是一个独立可运行的包,编译之后是可执行文件,除了main之外,其他的包最后生成的都是放在"$GOPATH/pkg/系统_架构“(以mac为例:darwin_amd64)下面的.a文件(也就是包文件)。 |
27 |
| - |
28 |
| ->每一个GO的独立可运行的应用程序,必定包含有一个`package main`,这个main包里面必定包含有一个入口函数main函数,这个函数没有任何的参数,也没有的返回值 |
29 |
| -
|
30 |
| -为了打印"Hello,world...",我们调用了一个函数Printf,这个函数来自于fmt这个包,所以我们在第三行里面导入了系统级别的fmt包,`import "fmt"` |
31 |
| - |
32 |
| -包的概念和python的modules是同一个理念,都是有一些特有的好处:模块化(能够把你的程序分成多个模块)和重用性(每个模块都能被其他应用程序反复使用),这里我们只要先了解一下包的概念,后面我们将会开始编写自己的包 |
33 |
| - |
34 |
| -第五行,我们定义了一个main函数,我们通过func这个关键字,他的内容通过`{`和`}`组织,就和我们平常写的c、c++、Java一样 |
35 |
| - |
36 |
| -大家可以看到main函数是没有任何的参数的,但是我们接下来学习如何编写函数里面,函数是可以带参数的,而且可以不返回数据,返回一个或者多个数据 |
37 |
| - |
38 |
| -第六行,我们调用了fmt包里面定义的函数Printf,大家可以看到,这个函数的调用是通过`<package name>.function`的方式调用的,这个和python是十分相似的 |
39 |
| - |
40 |
| -(注:前面提到过,包名和包所在文件夹名可以是不同的,此处的package name即为通过`package <plaplapla>`声明的包名,而非文件夹名。) |
41 |
| - |
42 |
| -最后大家可以看到我们输出的内容里面包含了很多非ASCII码的字符,实际上,GO是天生支持UTF-8的,任何的语言都可以直接输出 |
43 |
| - |
44 |
| - |
45 |
| -##结论 |
46 |
| - |
47 |
| -GO使用package(和Python的模块类似)来组织代码。main.main函数(这个函数主要位于主包)是每一个独立的可运行程序的入口点。GO使用UTF-8字符串和标识符(因为UTF-8的发明者也就是GO的发明者),所以它天生就具有多语言的支持。 |
48 |
| - |
49 |
| -## links |
50 |
| - * [目录](<preface.md>) |
51 |
| - * 上一章: [GO语言基础](<2.md>) |
52 |
| - * 下一节: [GO基础](<2.2.md>) |
53 |
| - |
54 |
| -## LastModified |
55 |
| - * $Id$ |
| 1 | +#2.1 你好,Go |
| 2 | + |
| 3 | +在我们开始用Go写应用之前,我们先从最基本的程序开始。就像你造房子之前你不知道什么是地基一样,因此,在本小节中,我们要学习用最基本的语法让GO程序运行起来。 |
| 4 | + |
| 5 | +##程序 |
| 6 | + |
| 7 | +这就像一个传统,学习所有的语言,你应该学习编写的第一个程序就是如何输出`hello world` |
| 8 | + |
| 9 | +准备好了吗?Let's Go |
| 10 | + |
| 11 | + package main |
| 12 | + |
| 13 | + import "fmt" |
| 14 | + |
| 15 | + func main() { |
| 16 | + fmt.Printf("Hello, world; καλημ ́ρα κóσμ or こんにちは世界\n") |
| 17 | + } |
| 18 | + |
| 19 | +输出如下: |
| 20 | + |
| 21 | + Hello, world; καλημ ́ρα κóσμ or こんにちは世界 |
| 22 | + |
| 23 | +##详解 |
| 24 | +首先我们要了解一个概念,Go程序是通过`package`来组织的 |
| 25 | + |
| 26 | +`package <plaplapla>`(在我们的例子里面,plaplapla是main)这一句话是告诉我们当前这个文件属于那个包,而main包是告诉我们当前这个包是一个独立可运行的包,编译之后是可执行文件,除了main之外,其他的包最后生成的都是放在"$GOPATH/pkg/系统_架构“(以mac为例:darwin_amd64)下面的.a文件(也就是包文件)。 |
| 27 | + |
| 28 | +>每一个GO的独立可运行的应用程序,必定包含有一个`package main`,这个main包里面必定包含有一个入口函数main函数,这个函数没有任何的参数,也没有的返回值 |
| 29 | +
|
| 30 | +为了打印"Hello,world...",我们调用了一个函数Printf,这个函数来自于fmt这个包,所以我们在第三行里面导入了系统级别的fmt包,`import "fmt"` |
| 31 | + |
| 32 | +包的概念和python的modules是同一个理念,都是有一些特有的好处:模块化(能够把你的程序分成多个模块)和重用性(每个模块都能被其他应用程序反复使用),这里我们只要先了解一下包的概念,后面我们将会开始编写自己的包 |
| 33 | + |
| 34 | +第五行,我们定义了一个main函数,我们通过func这个关键字,他的内容通过`{`和`}`组织,就和我们平常写的c、c++、Java一样 |
| 35 | + |
| 36 | +大家可以看到main函数是没有任何的参数的,但是我们接下来学习如何编写函数里面,函数是可以带参数的,而且可以不返回数据,返回一个或者多个数据 |
| 37 | + |
| 38 | +第六行,我们调用了fmt包里面定义的函数Printf,大家可以看到,这个函数的调用是通过`<package name>.function`的方式调用的,这个和python是十分相似的 |
| 39 | + |
| 40 | +(注:前面提到过,包名和包所在文件夹名可以是不同的,此处的package name即为通过`package <plaplapla>`声明的包名,而非文件夹名。) |
| 41 | + |
| 42 | +最后大家可以看到我们输出的内容里面包含了很多非ASCII码的字符,实际上,GO是天生支持UTF-8的,任何的语言都可以直接输出 |
| 43 | + |
| 44 | + |
| 45 | +##结论 |
| 46 | + |
| 47 | +GO使用package(和Python的模块类似)来组织代码。main.main函数(这个函数主要位于主包)是每一个独立的可运行程序的入口点。GO使用UTF-8字符串和标识符(因为UTF-8的发明者也就是GO的发明者),所以它天生就具有多语言的支持。 |
| 48 | + |
| 49 | +## links |
| 50 | + * [目录](<preface.md>) |
| 51 | + * 上一节: [Go语言基础](<2.md>) |
| 52 | + * 下一节: [Go基础](<2.2.md>) |
| 53 | + |
| 54 | +## LastModified |
| 55 | + * $Id$ |
0 commit comments