【编程基础Ep4】《Go语言趣学指南》学习笔记P15:格式化输出、变量声明、随机数

(合计898字,用时30min——)
第1单元 命令式编程
第2章 被美化的计算器
2.2 格式化输出
fmt包里的Printf函数:
特点:对输出拥有更大的控制权;
参数:
第一个参数:文本;
第二个参数:表达式——格式化变量%v则会在之后被替换成表达式的值——还有%v外的其他格式化变量;
对比:
Println:自动将输出的内容推进至下一行;
Printf和Print:不会这么做,用换行符\n来将输出内容推至下一行;
其他用法:
如果用户指定了多个格式化变量,那么Printf函数将按顺序把它们替换成相应的值,文本里有几个格式化变量,后面跟几个表达式;
除可以在句子的任何位置将格式化变量替换成指定的值之外,还能够调整文本的对应位置——
%4v:将文本的宽度填充至4个字符,空格将被填充至文本左边;
%-15v:将文本的宽度填充至15个字符,空格将被填充至文本右边。
2.3 常量与变量
概念:
关键字:
const:声明常量;
var:声明变量;
特点:
常量:不能被修改,重新赋值会报错“无法对xxx进行赋值”;
变量:必须先声明后使用,如果尚未使用var关键字对变量进行声明,那么尝试向它赋值将导致Go报告错误——首次出现某变量必用var。
2.4 走捷径
2.4.1 一次声明多个变量
声明方式:
分别声明:声明几个变量var几次;
一次声明一组变量:var后用大括号包含两个变量;
同一行声明多个变量:变量名用,隔开。
2.4.2 增量并赋值操作符
例子:
weight*=0.3:weight=weight*0.3;
age+=1:age=age+1:age++;
注意:Go并不支持++count这种见诸C和Java等语言中的前置增量操作。
2.5 数字游戏
rand包生成伪随机数:
伪随机数:并非真正随机,只是看上去或多或少像是随机的而已;
导包:"math/rand";
代码:rand.Intn(10)+1——返回1~10之间的一个随机数;
“差一错误(off-by-one error)”:如果我们在写代码的时候忘记对伪随机数执行加一操作,那么程序将返回一个0~9的数字;
注意:虽然rand包的导入路径为math/rand,但是我们在调用Intn函数的时候只需要使用包名rand作为前缀即可,不需要使用整个导入路径。