为初学者准备16个部分的语言

在本文中,我们将学习如何使用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中使用类型声明!

就是这样!我希望这对你有用!谢谢你!

跟随我们跟上时代的步伐!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180130A0JV9H00?refer=cp_1026

扫码关注云+社区