内容正文:
千锋教育
Go语言开发实战
教学设计
课程名称: Go语言开发实战
授课年级: ______ ______________ ___
授课学期: ___ ____ ________ ________
教师姓名: ______________ ________
2019年09月01日
课程名称
第2章 Go语言的基本语法
计划学时
4学时
内容分析
本章主要介绍变量、数据类型、打印格式化、数据类型转换、常量、类型别名与类型定义、Go语言的运算符、运算符优先级
教学目标
与
教学要求
要求学生掌握变量的定义与使用,掌握打印格式化,掌握数据类型转换,掌握常量与枚举,掌握Go语言运算符,掌握运算符优先级。
教学重点
变量、数据类型、打印格式化、数据类型转换、常量、Go语言的运算符
教学难点
数据类型、打印格式化、数据类型转换、类型别名与类型定义、运算符优先级
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(变量、数据类型、打印格式化、数据类型转换)
回顾内容,引出本课时主题
1.回顾内容,引出本课时的主题
上节已经已经搭建好了集成开发环境GoLand以及学习了Go语言的结构组成和编码规范,但想要使用Go语言做出一款高性能的软件,就必须打好Go语言的基础。本节将从变量、数据类型、打印格式化、数据类型转换几个方面讲解Go语言的基础知识。
2.明确学习目标
(1) 能够掌握变量
(2) 能够熟悉数据类型
(3) 能够掌握打印格式化
(4) 能够掌握数据类型转换
知识讲解
· 变量的概念
变量是计算机语言中储存数据的基本单元。变量的功能是存储数据。变量可通过变量名(标识符)访问,例如小千的年龄是18岁,可以使用变量来引用18,如图所示。
变量的本质是计算机分配的一小块内存,专门用于存放指定数据,在程序运行过程中该数值可以发生改变;变量的存储往往具有瞬时性,或者说是临时存储,当程序运行结束,存放该数据的内存就会释放,该变量就会随着内存的释放而消失。就像日常生活中存放水的水杯,当水杯损坏的时候,装在里面的水也会流失掉。
变量又分为局部变量和全局变量。
· 局部变量,是定义在大括号({})内部的变量,花括号的内部也叫作作用域。
· 全局变量,是定义在函数和大括号({})外部的变量。
Go 语言的变量名由字母、数字、下画线组成,首个字符不能为数字;Go语法规定,定义的局部变量若没有被调用会发生编译错误。
编译报错如下:
a declared and not used
表达式是值和操作符的组合,它们可以通过求值成为单个值。“数据类型”是一类值,每个值都只属于一种数据类型。
· 变量声明
变量声明有多种形式,未初始化的标准格式如下所示。
var 变量名 变量类型
定义一个变量名为a的int型变量,示例如下。
var a int
未初始化的批量格式,不用每行都用var申明,具体语法格式如下所示。
var (
a int
b string
c []float32
d func() bool
e struct {
x int
y string
}
)
未初始化变量的默认值,有如下特点。
· 整形和浮点型变量默认值:0
· 字符串默认值为空字符串
· 布尔型默认值为false
· 函数、指针变量、切片默认值为nil
初始化变量的标准格式:
var 变量名 类型 = 表达式
初始化变量的编译器自动推断类型格式:
var 变量名 = 表达式
初始化变量的简短声明格式(短变量声明格式):
变量名 := 表达式
分别使用以上三种方式定义一个名为a的变量,并初始化为10,示例如下:
var a int = 10 //初始化变量的标准格式
var b = 10 //初始化变量的编译器自动推断类型格式
c := 10 //初始化变量的简短声明格式
使用 := 赋值操作符,:= 可以高效地创建一个新的变量,称之为初始化声明。声明语句省略了var 关键字,变量类型将由编译器自动推断。这是声明变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。该变量名必须是没有定义过的变量,若定义过,将发生编译错误。
var a = 10
a := 20 //重复定义变量a
编译报错如下:
no new variables on left side of :=
多个短变量声明和赋值中,至少有一个新声明的变量出现在左侧中,那么即便有其他变量名可能是重复声明的,编译器也不会报错。情况如下所示。
var a = 10
a, b := 100, 200
虽然这种方法不会报错,但是在使用过程中应尽量避免。
· 变量多重