学习GO (一)

学习GO

1. 入门
1.1 简介

go语言是由3位谷歌员工设计的。最开始开发go的时候,谷歌的开发需要维护百万行需要更新的代码,将这些代码转化为程序需要花费大量的时间。最烦人的是,每个人都得经受这种痛苦。为了应对这些问题, go语言的设计初衷就是“eliminate the slowness and clumsiness of software development at Google, and thereby to make the process more productive and scalable”.

换句话说,设计go的目的是为了让开发更加的迅速和容易。它包含高级语言的特性,比如自动垃圾回收,并充分利用了计算机多核的特性,设计之初就是为了并发而生。 Go语言的特性和速度已经吸引了大量不同的程序员,包括应用开发和基础设施团队等。随着go语言的发展,我们将看到go在应用开发,网页开发,命令行开发和其他地方的实现。

在我们开始使用go之前,我们需要先过一下go的基础知识,如何读一个go程序,如何跑一个go程序。

guide for developing Go locally 配置本地环境。

1.2 编译

当我们手写go语言的时候,我们希望代码对于我们自己和别人都可读。 我们能从代码读出代码的逻辑和意图。但是,电脑并不懂我们的go代码,也无法读懂我们表达的意思。电脑只能懂二进制的0-1. 为了将我们的代码转化为二进制,也就是电脑懂的代码, go需要一个编译器,一个将go代码转化为电脑懂的代码。然后我们才能执行我们写的程序。

package main

import "fmt"

func main() {
	fmt.Println("Hello World")
}
go build main.go
ls
# main main.go
./main
1.3 运行程序

为了运行我们写的程序,我们不用在编译了,只需要重新跑一下可执行文件。但是假如我们需要改一下程序,总不能每次改一点,就需要重新编译一下吧。

幸运的是,我们可以使用

go run main.py

go run 会同时执行compile和execute两种命令;这样我们就可以迅速的查看我们更改的效果。

go run 不会创建一个可执行文件。

1.4 go基础结构:package

go语言从上往下,从左往右。

package main
# 1 此行表示 申明一个包,每个go程序都这么开始,申明包告诉编译器是创建一个可执行文件还是一个库,与可执行文件相反的是,一个库并不需要执行代码 - 库只是一堆可以复用的代码而已。申明包将创建一个可执行文件。

# 2 空行,go忽略空行
import "fmt" 

# 3. import 语句, import语句使得我们可以导入和使用其他包的程序,需要注意的是,包使用""双引号

func main () {
  fmt.Println("Hello World") 
}

包在go里面最为一个很重好的角色。它将代码组合起来,使得代码可以复用, 也方便维护。我们只需要导入我们需要使用的代码, 同时,我们的代码编译也更加的快, 因为不需要编译额外的代码或者包

1.5 go基础结构: main
func main () {
    # func关键字 开始
    # 后面紧跟函数名称
    # (){}
    fmt.Println("Hello World") 
}

正常情况下, 我们的函数是不会执行的,但是main是一个特殊的函数,main包是一个特殊的包。当我们有main的时候,main函数会自动执行

1.6 导入多个包

更多时候,我们需要导入很多的包,Go标准包

import "package1"
import "package2"
import (
  "package1"
  "package2"
)

两种导入方式均可。需要注意的是,使用括号的时候,不需要加逗号

import (
  p1 "package1"
 p2  "package2"
)

导入包的时候,可以添加别名

package main

import (
  "fmt"
  t "time"
)

func main() {
  fmt.Println(t.Now())
}
1.7 备注

备注基本和java, javascript一样

// 这是单行煮熟
/* 
这是多行注释
这是多行注释
*/
1.8 额外资源

问题:

另外,go还有自己的doc系统,可以使用:

go doc fmt 
go doc fmt.Println
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值