在本文中,我们将学习如何使用Go启动和运行,并做一些简单的事情,比如调用函数和使用第三方包。我们走吧!
这是Golang系列的第一个帖子:为16个部分的初学者准备语言!
Go是最重要、最激动人心的编程语言之一!
它的语法简洁,非常干净,并遵循许多模式,使我们远离那些无意义的事情,比如缩进、错误处理、并发等等。
在疯狂地跳到许多被破解的代码之前,让我们了解一些关于Go Lang的概念!
Go特性
Go是谷歌在2009年创建的。为什么?那它是怎么解决的呢?
Go被设计成非常简单的阅读。
它带来了动态编程语言的可读性。
围棋的设计非常简单。
它没有魔法和样板代码,而且结构类型也很有限。
围棋的设计速度非常快。
Go是用C写在引擎盖下面的!
Go编译
您不需要有解释器或虚拟机,也不需要对在这种环境中运行的Go代码进行任何更改。
Go是一种静态类型的编程语言。
即使作为静态类型的语言,Go也有干净的语法和很棒的类型推断,接近于动态语言。
Go有一个垃圾收集。
太棒了!您不需要记住何时使用malloc来分配内存!
多态的围棋是伟大的!
Go遵循一种不同的处理多态的方法,即接口的概念。这非常简单,它只是一系列方法的集合!
以一种美丽的方式支持网络和多处理。
Go被设计为具有一个内置的并发方法,并且使用Goroutines和通道来实现真正的轻量级过程。
你好,走吧!
这将是我们的第一步代码!我们应该创建一个文件叫go-hello.go。
package main
import "fmt"
func main() {
fmt.Println("Hello, Go World!")
}
让我们编译代码
$ go build go-hello.go
在此之后,将在名为go-hello的当前目录中创建一个文件。这个文件是可以执行的编译代码,如下所示:
./go-hello
这两步方法有点无聊,Go可以在1步内完成,使用Go run命令:
$ go run go-hello.go
Hello, Go World!
所以,你不想尝试自己的机器吗?别担心,我们可以在别的地方玩。
在Go操场上运行代码。
我不提它的大操场,就不能谈论Golang。
点击运行链接,运行相同的代码!
太棒了,不是吗?
程序包和功能。
你有没有注意到我们已经调用了函数Println?该函数来自包fmt。
此包是内置的包,默认情况下是在Golang中提供的。要使用它,我们只需要使用带有包名称的import关键字。
import "fmt"
在此示例中,让我们从包装数学中调用一个函数:
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Max(9, 5))
}
在Go运动场或本地终端运行这段代码:
go run hello-math.go
输出应该是:9。
调用函数中去
我们可以在同一个文件中调用另一个函数:
package main
import "fmt"
func main() {
fmt.Println("Calling the function: main")
anotherFunction()
}
func anotherFunction() {
fmt.Println("Calling the function: anotherFunction()")
}
如果您运行此代码,您将得到以下结果:
Calling the function: main
Calling the function: anotherFunction()
在Golang使用第三方包。
Go有一个简单的方法从GitHub获得一个在线软件包。只是遵循模式:
go get github.com/go-awesome-library-address
用表情符号打印消息怎么样?嗯,这不是一个必需的和重要的特性(尽管我认为它是)在Golang核心,所以让我们使用GitHub的一个包。
我们将遵循上面的模式:
go get gopkg.in/kyokomi/emoji.v1
现在是打印表情符号的时候了:
package main
import (
"fmt"
"github.com/kyokomi/emoji"
)
func main() {
fmt.Println("Hello World Emoji! :tada:")
emoji.Println("Do you like :coffee: ? Of course you like!")
}
输出将输出表情符号!
Go是一种静态类型语言。
这意味着Go知道你的值是哪一种!字符串和整数都与Go透视图不同!
用整数打印字符串会怎样?让我们创建一个名为types-in-go的文件。使用以下代码:
package main
import "fmt"
func main() {
fmt.Println("Hey " + 300)
}
现在,运行代码:
$ go run types-in-go.go
您将得到以下错误信息:
./types.go:6: cannot convert "Hey " to type int
./types.go:6: invalid operation: "Hey " + 300 (mismatched types string and int)
这个错误发生在编译时。试着编译代码:
$ go build types-in-go.go
同样的错误也会发生!别担心,我们稍后会修正这个代码。
用TypeOf显示值的类型。
那么打印出一个值的类型呢?让我们使用内置反射包中的TypeOf()方法来实现这一点:
package main
import (
"fmt"
"reflect"
)
func main() {
fmt.Println(reflect.TypeOf(1))
fmt.Println(reflect.TypeOf(9.5))
fmt.Println(reflect.TypeOf("Just a String"))
fmt.Println(reflect.TypeOf(true))
}
如果你运行代码,结果将是:
int
float64
string
bool
太棒了!在这个简单的帖子里,我们有了一点点进入到语言世界!我们有很多工作要做16个部分!
在下一篇文章中,第2部分—在Go中声明变量,我们将看到如何在Go中使用类型声明!
就是这样!我希望这对你有用!谢谢你!
跟随我们跟上时代的步伐!
领取专属 10元无门槛券
私享最新 技术干货