第六届字节跳动青训营——Go 语言入门指南:基础语法和常用特性解析 | 青训营

56 阅读2分钟

内容概述

本文主要内容是关于go语言的初步学习,重点突出记录go语言和其它语言的不同之处。

主要内容

运行注意事项

go是个偏向工程的语言,运行会直接从main.go进入,且只能有一个main.go文件,和C类似。JAVA适合初学者进行类似算法的学习,手敲一个个样例再直接运行。go直接运行会报错,实际运行单个go文件从shell进入go run 文件名即可,例如 go run hello.go。

变量常量

1.go是个强类型语言。和其它语言不同的是以var进行变量定义,这一点很方便。

2.分两种方式进行变量定义,一是先声明再赋值,二是声明的同时赋值。

第一种:先 var 变量名 变量类型,再 变量名 := 变量值,样例:先var v int v := 1;

第二种: var 变量名 变量类型 = 变量值,样例 var v int = 1

3.常量就将var改为const

if-else 判断

1.不带括号,且可以添加前置条件,初始化变量,以分号隔开。

2.循环内是单个语句也需要用大括号。

3.if后面的左大括号,必须和if在同一行,否则编译不通过。

for 循环

没有while do-while,循环只用for。

switch

不需要break,case可以使用任意变量类型。

数组

1.下标从0开始

2.可以自动推导数组长度,例如var arr = [...]int{7, 8, 9}

切片

切片其实就是可变数组,更加灵活。 使用make(类型,长度)进行初始化,支持append和copy等操作

map

map其实就是字典,形如key-value的键值对形式。

初始化:make(map[key类型]value类型)

删除操作:delete(map,key)

range

快速遍历,使用for range的形式,例如for key, value := range m,对于不需要用的可以用_代替。

函数

1.变量类型后置,func 函数名(变量名 变量类型)(返回值类型),形如func sum(v1 int, v2 int) int

2.支持返回多个值,实际业务第二个值返回错误信息

指针

主要起对传入参数修改的作用

结构体

可以为结构体定义一些方法,(结构体变量,结构体类型)前置到函数名之前,形如 func (u User) PrintName() string

错误处理

返回值添加一个error,nil表示无错

print

和java,c等不同,输出时以%d的形式输出数据类型。go只需以v即可输出任何类型,+v详细,#v更详细。

总结

本文主要介绍了一些关于go的基础知识,总体感觉go更加简洁,存在很多和其它语言不同的地方。