Go | GO语言是啥?

幸运草 2020年4月12日17:06:55前端框架评论阅读模式
Go(又称Golang)是Google的RobertGriesemer(GoogleV8、ChubbyHotSpotJVM的主要贡献者),RobPike(UTF-8的设计者及Ken Thompson(Unix之父)开发的一种静态强类型、编译型语言。Go语言语法与C相近,但功能上有:内存安全,GC(垃圾回收),结构形态及CSP-style并发计算。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。

Go是非常有特色的语言,他对于高并发需求的情景如鱼得水,云的概念和他的特性让他很适合做后端开发和云平台的开发,像Docker、bilibili都在用Go。

Go最吸引人的东西和python可能正好相反,用python你会觉得自己像一只鸟儿飞在天空中,而用Go你会觉得一切都井然有序,三个Go创始人在语法上的规定让他很稳健。
看了这些是否对他有了兴趣呢?

基础语法

一定要写的helloworld

//Go的第一个程序
package main

import "fmt"

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

package的含义相信学过java的同学都知道,就是包,Go语言中每个.go文件都要在包中,而程序的入口所在的文件一定在main包里。

import是导入库,"fmt"库里包含各种io方法,Go中导入多个库可写成下面的样子

import(
        "fmt"
        "sync"
        "unsafe"
        )

命令行中运行 go run xxx.go命令即可直接运行

也可以运行 go build xxx.go生成二进制文件

行分隔符

在 Go 程序中,一行代表一个语句结束。每个语句不需要像C家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完成。
如果你打算将多个语句写在同一行,它们则必须使用 ; 人为区分,但在实际开发中我们并不鼓励这种做法。

fmt.println("你好")
fmt.println("再见")

标识符

标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。

下面列举了 Go 代码中会使用到的 25 个关键字或保留字:

Go | GO语言是啥?
除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符:

Go | GO语言是啥?
Go 语言数据类型

在Go语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。Go语言按类别有以下几种数据类型:

1、布尔型布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。2、数字类型整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。

3、字符串类型字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。

4、派生类型包括:

(a) 指针类型(Pointer)

(b) 数组类型

(c) 结构化类型(struct)

(d) Channel 类型

(e) 函数类型

(f) 切片类型

(g) 接口类型(interface)

(h) Map 类型

数字类型

1、整型

Go | GO语言是啥?
2、浮点型

Go | GO语言是啥?
3、其他数字类型

1、byte类似 uint8,字节的意思

2、rune类似 int32

3、uint32 或 64 位

4、int与 uint 一样大小

5、uintptr无符号整型,用于存放一个指针

Go的数据类型中很容易看出他严谨的特点~~~骐骥千里,非一日之功,今天分享的这些东西你掌握了嘛?我们下次再见。

特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
幸运草
Go语言接口规则 前端框架

Go语言接口规则

Go语言接口规则 接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数...
Go语言中处理 HTTP 服务器 前端框架

Go语言中处理 HTTP 服务器

1 概述 包 net/http 提供了HTTP服务器端和客户端的实现。本文说明关于服务器端的部分。 快速开始: package main import (   "log"   "net/http" )...

发表评论