你了解Go语言嘛?(一) | 青训营笔记

130 阅读4分钟

大家好!这是我参与「第五届青训营 」笔记创作活动的第1天。

我是一名在校大二的学生,很荣幸的参加本次青训营,所以我想把我在这次青训营的学习经历通过这次活动记录下来,和本次参加项目的小伙伴一起学习探讨,加油!学习永无止境!💪💪💪

GO语言

① 什么是go语言

Go 即Golang,是Google 公司2009 年11 月正式对外公开的一门编程语言。Go 语言不仅拥有静态编译语言的安全和高性能,而且又达到了动态语言开发速度和易维护性。有人形容Go 语言:Go = C + Python , 说明Go 语言既有C 语言程序的运行速度,又能达到Python 语言的快速开发。

② Go 环境win 环境搭建

1、下载安装Golang

        Go 官网下载地址:golang.org/dl/

        Go 官方镜像站(推荐):Downloads - The Go Programming Language

2、安装软件

​         1、双击下一步下一步进行安装;

        ​ 2、验证是否安装成功:go version;

3、查看Go环境

​        go env

说明:

​         Go1.11 版本之后无需手动配置环境变量,使用go mod 管理项目,也不需要非得把项目放到GOPATH 指定目录下,你可以在你磁盘的任何位置新建一个项目。

        Go1.13 以后可以彻底不要GOPATH 了。

③ 基本语法

1、变量、常量命名规则

        (1)、变量名由字母、数字、下划线组成,其中首个字符不能为数字;

        (2)、关键字和保留字不能用作变量名。

        (3)、变量需要声明后才能使用,同一作用域内不支持重复声明。

        (4)、Go 语言的变量声明后必须使用。

        (5)、变量的名字是区分大小写的如: age 和Age 是不同的变量。

        (6)、变量命名一般采用驼峰式,当遇到特有名词(缩写或简称,如DNS)的时候,特有名词根据是否私有全部大写或小写。

1.1、Go 语言代码风格

​        1、代码每一行结束后不用写分号( ;);

        2、运算符左右建议各加一个空格 var username string = "xiaobai";

        3、Go 语言程序员推荐使用驼峰式命名;

        4、强制的代码风格——左括号必须紧接着语句不换行;

        5、go fmt 主要用于格式化文档,让所有人的代码风格保持一致。

2、变量的声明

​        Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量若未指定初始值,则会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0。字符串变量的默认值为空字符串。布尔型变量默认为false。切片、函数、指针变量的默认为nil。

2.1、var 声明变量

​        var 变量名 类型 (= 表达式)

eg:    var name string = "zhangsan"

2.2、变量类型自动推导

​         var 变量名 (= 表达式)

eg:    var name = "zhangsan"

2.3、短变量声明法

​         变量名 := 表达式

**注意: **短变量只能用于声明局部变量,不能用于全局变量的声明

eg:    name := "zhangsan"

2.4、变量的批量声明

​       **** var identifier1, identifier2 type

// 1、批量声明同类型变量
var name, area string
name = "wang"
area = "上海"
fmt.Printf("name:%v  ;area:%v\n",name,area)
​
// 2、批量声明不同类型的变量
var (
   user string
   sex string
   age int
)
user = "wang"
sex = "man"
age = 20
fmt.Printf("user:%v-%T;sex:%v-%T;age:%v-%T\n",user,user,sex,sex,age,age)
​
// 3、批量声明不同类型的变量,并赋值
var (
   user2 = "wang"
   sex2 = "man"
   age2 = 20
)
user2 = "wang"
sex2 = "man"
age2 = 20
fmt.Printf("user:%v-%T;sex:%v-%T;age:%v-%T\n",user2,user2,sex2,sex2,age2,age2)

2.5、匿名变量

​        在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。匿名变量用一个下划线_表示,例如:

go func getInfo() (int, string) {
    return 10, "张三"
}
​
func main() {
    _, username := getInfo()
    fmt.Println(username)
}

匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。

注意事项:

        1、函数外的每个语句都必须以关键字开始(var、const、func 等);

        2、:= 不能使用在函数外;

        3、_ 多用于占位,表示忽略值。