修改GO为Go
This commit is contained in:
110
2.1.md
110
2.1.md
@@ -1,55 +1,55 @@
|
||||
#2.1 你好,GO
|
||||
|
||||
在我们开始用GO写应用之前,我们先从最基本的程序开始。就像你造房子之前你不知道什么是地基一样,因此,在本小节中,我们要学习用最基本的语法让GO程序运行起来。
|
||||
|
||||
##程序
|
||||
|
||||
这就像一个传统,学习所有的语言,你应该学习编写的第一个程序就是如何输出`hello world`
|
||||
|
||||
准备好了吗?Let's GO
|
||||
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
fmt.Printf("Hello, world; καλημ ́ρα κóσμ or こんにちは世界\n")
|
||||
}
|
||||
|
||||
输出如下:
|
||||
|
||||
Hello, world; καλημ ́ρα κóσμ or こんにちは世界
|
||||
|
||||
##详解
|
||||
首先我们要了解一个概念,Go程序是通过`package`来组织的
|
||||
|
||||
`package <plaplapla>`(在我们的例子里面,plaplapla是main)这一句话是告诉我们当前这个文件属于那个包,而main包是告诉我们当前这个包是一个独立可运行的包,编译之后是可执行文件,除了main之外,其他的包最后生成的都是放在"$GOPATH/pkg/系统_架构“(以mac为例:darwin_amd64)下面的.a文件(也就是包文件)。
|
||||
|
||||
>每一个GO的独立可运行的应用程序,必定包含有一个`package main`,这个main包里面必定包含有一个入口函数main函数,这个函数没有任何的参数,也没有的返回值
|
||||
|
||||
为了打印"Hello,world...",我们调用了一个函数Printf,这个函数来自于fmt这个包,所以我们在第三行里面导入了系统级别的fmt包,`import "fmt"`
|
||||
|
||||
包的概念和python的modules是同一个理念,都是有一些特有的好处:模块化(能够把你的程序分成多个模块)和重用性(每个模块都能被其他应用程序反复使用),这里我们只要先了解一下包的概念,后面我们将会开始编写自己的包
|
||||
|
||||
第五行,我们定义了一个main函数,我们通过func这个关键字,他的内容通过`{`和`}`组织,就和我们平常写的c、c++、Java一样
|
||||
|
||||
大家可以看到main函数是没有任何的参数的,但是我们接下来学习如何编写函数里面,函数是可以带参数的,而且可以不返回数据,返回一个或者多个数据
|
||||
|
||||
第六行,我们调用了fmt包里面定义的函数Printf,大家可以看到,这个函数的调用是通过`<package name>.function`的方式调用的,这个和python是十分相似的
|
||||
|
||||
(注:前面提到过,包名和包所在文件夹名可以是不同的,此处的package name即为通过`package <plaplapla>`声明的包名,而非文件夹名。)
|
||||
|
||||
最后大家可以看到我们输出的内容里面包含了很多非ASCII码的字符,实际上,GO是天生支持UTF-8的,任何的语言都可以直接输出
|
||||
|
||||
|
||||
##结论
|
||||
|
||||
GO使用package(和Python的模块类似)来组织代码。main.main函数(这个函数主要位于主包)是每一个独立的可运行程序的入口点。GO使用UTF-8字符串和标识符(因为UTF-8的发明者也就是GO的发明者),所以它天生就具有多语言的支持。
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一章: [GO语言基础](<2.md>)
|
||||
* 下一节: [GO基础](<2.2.md>)
|
||||
|
||||
## LastModified
|
||||
* $Id$
|
||||
#2.1 你好,Go
|
||||
|
||||
在我们开始用Go写应用之前,我们先从最基本的程序开始。就像你造房子之前你不知道什么是地基一样,因此,在本小节中,我们要学习用最基本的语法让GO程序运行起来。
|
||||
|
||||
##程序
|
||||
|
||||
这就像一个传统,学习所有的语言,你应该学习编写的第一个程序就是如何输出`hello world`
|
||||
|
||||
准备好了吗?Let's Go
|
||||
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
fmt.Printf("Hello, world; καλημ ́ρα κóσμ or こんにちは世界\n")
|
||||
}
|
||||
|
||||
输出如下:
|
||||
|
||||
Hello, world; καλημ ́ρα κóσμ or こんにちは世界
|
||||
|
||||
##详解
|
||||
首先我们要了解一个概念,Go程序是通过`package`来组织的
|
||||
|
||||
`package <plaplapla>`(在我们的例子里面,plaplapla是main)这一句话是告诉我们当前这个文件属于那个包,而main包是告诉我们当前这个包是一个独立可运行的包,编译之后是可执行文件,除了main之外,其他的包最后生成的都是放在"$GOPATH/pkg/系统_架构“(以mac为例:darwin_amd64)下面的.a文件(也就是包文件)。
|
||||
|
||||
>每一个GO的独立可运行的应用程序,必定包含有一个`package main`,这个main包里面必定包含有一个入口函数main函数,这个函数没有任何的参数,也没有的返回值
|
||||
|
||||
为了打印"Hello,world...",我们调用了一个函数Printf,这个函数来自于fmt这个包,所以我们在第三行里面导入了系统级别的fmt包,`import "fmt"`
|
||||
|
||||
包的概念和python的modules是同一个理念,都是有一些特有的好处:模块化(能够把你的程序分成多个模块)和重用性(每个模块都能被其他应用程序反复使用),这里我们只要先了解一下包的概念,后面我们将会开始编写自己的包
|
||||
|
||||
第五行,我们定义了一个main函数,我们通过func这个关键字,他的内容通过`{`和`}`组织,就和我们平常写的c、c++、Java一样
|
||||
|
||||
大家可以看到main函数是没有任何的参数的,但是我们接下来学习如何编写函数里面,函数是可以带参数的,而且可以不返回数据,返回一个或者多个数据
|
||||
|
||||
第六行,我们调用了fmt包里面定义的函数Printf,大家可以看到,这个函数的调用是通过`<package name>.function`的方式调用的,这个和python是十分相似的
|
||||
|
||||
(注:前面提到过,包名和包所在文件夹名可以是不同的,此处的package name即为通过`package <plaplapla>`声明的包名,而非文件夹名。)
|
||||
|
||||
最后大家可以看到我们输出的内容里面包含了很多非ASCII码的字符,实际上,GO是天生支持UTF-8的,任何的语言都可以直接输出
|
||||
|
||||
|
||||
##结论
|
||||
|
||||
GO使用package(和Python的模块类似)来组织代码。main.main函数(这个函数主要位于主包)是每一个独立的可运行程序的入口点。GO使用UTF-8字符串和标识符(因为UTF-8的发明者也就是GO的发明者),所以它天生就具有多语言的支持。
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一节: [Go语言基础](<2.md>)
|
||||
* 下一节: [Go基础](<2.2.md>)
|
||||
|
||||
## LastModified
|
||||
* $Id$
|
||||
|
||||
14
2.2.md
14
2.2.md
@@ -1,12 +1,12 @@
|
||||
#2.2 GO基础
|
||||
#2.2 Go基础
|
||||
|
||||
这小节我们将要介绍如何定义变量、常量;GO内置类型以及一些GO设计中的技巧
|
||||
这小节我们将要介绍如何定义变量、常量;Go内置类型以及一些Go设计中的技巧
|
||||
|
||||
##定义变量
|
||||
|
||||
GO语言里面定义变量有好几种方式。
|
||||
Go语言里面定义变量有好几种方式。
|
||||
|
||||
最基本的定义变量如下,go变量定义,它的类型是跟在变量后面的,而不是像C一样放前面
|
||||
最基本的定义变量如下,Go变量定义,它的类型是跟在变量后面的,而不是像C一样放前面
|
||||
|
||||
//定义一个名称为“variable_name”、类型为"type"的变量
|
||||
var variable_name type
|
||||
@@ -29,12 +29,12 @@ GO语言里面定义变量有好几种方式。
|
||||
*/
|
||||
var vname1,vname2,vname3 type= v1, v2, v3
|
||||
|
||||
你是不是觉得上面这样的定义有点复杂,没关系,因为go语言的设计者也发现这样复杂了,我们来让它变得简单一点,我们可以直接忽略类型这个申明,那么上面的什么变成了如下
|
||||
你是不是觉得上面这样的定义有点复杂,没关系,因为Go语言的设计者也发现这样复杂了,我们来让它变得简单一点,我们可以直接忽略类型这个申明,那么上面的什么变成了如下
|
||||
|
||||
/*
|
||||
定义三个变量,他们分别初始化相应的值
|
||||
vname1为v1,vname2为v2,vname3为v3
|
||||
然后他们的类型自动根据初始化的值来确定相应的类型,go会帮你做这件事
|
||||
然后他们的类型自动根据初始化的值来确定相应的类型,Go会帮你做这件事
|
||||
*/
|
||||
var vname1,vname2,vname3= v1, v2, v3
|
||||
|
||||
@@ -427,7 +427,7 @@ map的初始化可以通过key:val的方式初始化值,同时map内置有判
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一章: [你好,GO](<2.1.md>)
|
||||
* 上一章: [你好,Go](<2.1.md>)
|
||||
* 下一节: [流程和函数](<2.3.md>)
|
||||
|
||||
## LastModified
|
||||
|
||||
4
2.3.md
4
2.3.md
@@ -1,5 +1,5 @@
|
||||
#2.3 流程和函数
|
||||
这小节我们要介绍go里面的流程控制以及函数操作
|
||||
这小节我们要介绍Go里面的流程控制以及函数操作
|
||||
##流程控制
|
||||
流程控制是最伟大的发明了,因为有了他,你可以通过很简单的描述来表达很复杂的事情
|
||||
###if
|
||||
@@ -450,7 +450,7 @@ Go程序里面会自动调用init()和main(),所以你不需要在任何地方
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一章: [GO基础](<2.2.md>)
|
||||
* 上一章: [Go基础](<2.2.md>)
|
||||
* 下一节: [struct类型](<2.4.md>)
|
||||
|
||||
## LastModified
|
||||
|
||||
12
2.md
12
2.md
@@ -1,8 +1,8 @@
|
||||
# 2 GO语言基础
|
||||
# 2 Go语言基础
|
||||
|
||||
## 目录
|
||||
* 1. [你好,GO](2.1.md)
|
||||
* 2. [GO基础](2.2.md)
|
||||
* 1. [你好,Go](2.1.md)
|
||||
* 2. [Go基础](2.2.md)
|
||||
* 3. [流程和函数](2.3.md)
|
||||
* 4. [struct类型](2.4.md)
|
||||
* 5. [面向对象](2.5.md)
|
||||
@@ -10,7 +10,7 @@
|
||||
* 7. [并发](2.7.md)
|
||||
* 8. [小结](2.8.md)
|
||||
|
||||
GO是一门类似C的编译性语言,但是他的编译速度非常快,这门语言的关键字加起来也就二十五个,比英文字母的二十六还少一个,这对于我们来说学习就变得简单了很多,先让我们看一眼这些关键字都长成怎么样:
|
||||
Go是一门类似C的编译性语言,但是他的编译速度非常快,这门语言的关键字加起来也就二十五个,比英文字母的二十六还少一个,这对于我们来说学习就变得简单了很多,先让我们看一眼这些关键字都长成怎么样:
|
||||
|
||||
break default func interface select
|
||||
case defer go map struct
|
||||
@@ -18,13 +18,13 @@ GO是一门类似C的编译性语言,但是他的编译速度非常快,这
|
||||
const fallthrough if range type
|
||||
continue for import return var
|
||||
|
||||
在接下来的这一章里面,我将带领你去了解这门语言的基础,通过每个小节的介绍,你将会了解到GO的世界是那么的简洁,设计是如此的美妙,编写GO将会是一件愉快的事情,回过头来你就会发现上面这二十五个关键字是那么的亲切。
|
||||
在接下来的这一章里面,我将带领你去了解这门语言的基础,通过每个小节的介绍,你将会了解到Go的世界是那么的简洁,设计是如此的美妙,编写Go将会是一件愉快的事情,回过头来你就会发现上面这二十五个关键字是那么的亲切。
|
||||
|
||||
|
||||
## links
|
||||
* [目录](<preface.md>)
|
||||
* 上一章: [第一章总结](<1.5.md>)
|
||||
* 下一节: [你好,GO](<2.1.md>)
|
||||
* 下一节: [你好,Go](<2.1.md>)
|
||||
|
||||
## LastModified
|
||||
* $Id$
|
||||
@@ -4,9 +4,9 @@
|
||||
- 1.3. [Go 命令](1.3.md)
|
||||
- 1.4. [Go开发工具](1.4.md)
|
||||
- 1.5. [小结](1.5.md)
|
||||
* 2.[GO语言基础](2.md)
|
||||
- 2.1. [你好,GO](2.1.md)
|
||||
- 2.2. [GO基础](2.2.md)
|
||||
* 2.[Go语言基础](2.md)
|
||||
- 2.1. [你好,Go](2.1.md)
|
||||
- 2.2. [Go基础](2.2.md)
|
||||
- 2.3. [流程和函数](2.3.md)
|
||||
- 2.4. [struct](2.4.md)
|
||||
- 2.5. [面向对象](2.5.md)
|
||||
@@ -15,7 +15,7 @@
|
||||
- 2.8. [小结](2.8.md)
|
||||
* 3.[Web基础](3.md)
|
||||
- 3.1 [web工作方式](3.1.md)
|
||||
- 3.2 [GO搭建一个简单的web服务](3.2.md)
|
||||
- 3.2 [Go搭建一个简单的web服务](3.2.md)
|
||||
- 3.3 [Go如何使得web工作](3.3.md)
|
||||
- 3.4 [Go的http包详解](3.4.md)
|
||||
- 3.5 [小结](3.5.md)
|
||||
|
||||
Reference in New Issue
Block a user