Go语言学习Day1

66 阅读2分钟

初步了解Go语言

1.Go语言的基础特性

1. 高性能、高并发。只需要标准库或基于标准库的第三方库即可开发应用。
2. 语法简单易学。在C语言的基础上进行了大量简化,如只需要一种for循环就可以遍历数值、键值的遍历。
3. 丰富的标准库。标准库涵盖领域广,功能多,并且兼容性强。
4. 完善的工具链。Go语言的完善工具链为开发者提供了一系列简单易用、高效可靠的工具,可以提升开发效率,保证代码质量,并支持进行性能分析和优化,使得开发者能够更加专注于业务逻辑的实现。
5. 快速编译。Go借助高效的编译器及运行环境,可将代码快速编译成可执行的二进制文件。
6. 可跨平台。同一份代码可在不同的操作系统下运行。
7. 回收垃圾。Go语言自带垃圾回收器,开发者无需手动管理内存的分配和释放。
8. 静态链接。所有编译结构默认是静态链接。

2.简单的Go语言代码

package main

import "fmt"

func main() {
   fmt.Println("hell world")
}

输出 hello world

引入fmt库,使用fmt库中的Println方法。与C语言中的printf一致,直接输出引号内的字符。

在Go语言中,fmt库提供了输入和输出的格式化操作。它包含一组函数,除了打印格式化文本外还有实现字符串转换、读取标准输入以及处理错误等功能。

fmt.Sprint :将给定的参数按默认格式转换为字符串并返回。

fmt.Scanf:从标准输入读取数据并根据给定的格式进行解析和赋值。

3.Go语言中的赋值语句

Go语言的赋值有两种方式

1.使用var赋值。如:

var a = 1

2.直接赋值。如:

a := 1

3.使用const声明的变量为常量,const没有确定的类型,可根据上下文自动确定类型。如:

const a string = "hello world"

4.Go语言中的if-else

Go语言中的if-else判断语句中不需要加(),如果加了,Go会自动去掉括号。

5.切片

Go语言中的切片与数组类似,可以给切片赋值,但不同的是切片长度不是固定的,数组的长度是固定的。 切片使用make创造。

s := make ( [] string , 3 )

6.Go语言函数特性

Go语言函数与其他语言不同的是,Go语言的类型定义语句在后面。

func add(a int , b int) int {
  return a + b
}

7.JSON处理

结构体中字段的第一个字母为大写,就可以使用json.marshal()方法使结构体序列化,序列化后直接输出是一段数字,可以使用String强制转换为字符串,或者使用json.unmarshal()方法反序列化变化原来的结构体。