做网站要找什么软件,域名有wordpress,自主建站网站,网页制作三剑客软件下载今天的主菜是土豆#xff0c;就来个土豆丝吧。我的大致流程如下#xff1a; 1.挑选白瓤土豆#xff0c;洗它 2.土豆去皮 3.土豆切片#xff0c;切丝#xff0c;丝要粗细均匀 4.清洗几遍土豆丝#xff0c;去除上面的淀粉#xff0c;在清水中泡一小会 5.起锅#xff0c;放…今天的主菜是土豆就来个土豆丝吧。我的大致流程如下 1.挑选白瓤土豆洗它 2.土豆去皮 3.土豆切片切丝丝要粗细均匀 4.清洗几遍土豆丝去除上面的淀粉在清水中泡一小会 5.起锅放适量水烧开[适量实在是太抽象了] 6.备好葱花、姜丝、蒜、青/红辣椒丝 7.放入土豆丝焯致八九分熟或者看到土豆丝表面晶莹剔透即可捞出放入凉水中 8.起锅放油放花椒、姜丝、辣椒丝 9.放入土豆丝快速翻炒 10.放入适量盐蒜沫翻炒一下 11.放入适量醋再翻炒一下 12.出锅盛盘 13.撒上些葱花开吃
package mainimport (fmtmath/randtime
)// 定义常量,默认清洗时间
const default_wash_second int 1// 常量土豆瓤的颜色
const (white WHITEyellow YELLOW
)/******************************************************************************** 挑选土豆* color 土豆瓤的颜色******************************************************************************/
func select_potato(color string) {fmt.Println(使用的是 [, color, ] 土豆)
}/******************************************************************************** 清洗土豆* sec 清洗时间单位秒******************************************************************************/
func wash_potato(sec uint) {fmt.Println(正在清洗土豆)time.Sleep(time.Duration(sec) * time.Second)fmt.Println(清洗完毕)
}/******************************************************************************** 去除土豆表皮* sec 清洗时间单位秒******************************************************************************/
func peel_potato(sec uint) {fmt.Println(正在去除土豆表皮,只是表皮去除多了会浪费土豆)time.Sleep(time.Duration(sec) * time.Second)fmt.Println(去除土豆表皮完毕)
}/******************************************************************************** 将土豆切丝土豆丝不是越细越好而是要粗细均匀宽厚一致截面为正方形* 土豆丝可以轻易捻动* width 土豆丝的宽度及厚度* sec 清洗时间单位秒******************************************************************************/
func shred_the_potato(width, sec uint) {fmt.Println(正在将土豆切成 [, width, ] mm 厚的薄片)time.Sleep(time.Duration(sec) * time.Second)fmt.Println(切片完成准备切丝)fmt.Println(正在将土豆片切成 [, width, ] mm 厚的土豆丝)time.Sleep(time.Duration(sec) * time.Second)fmt.Println(土豆丝已切好)
}/******************************************************************************** 清洗土豆丝清洗的目的是去除其表面的淀粉这样炒出的土豆丝口感脆爽* 洗致水依然清澈则可以不再清洗了times并不是判断是否清洗好的标准* times 清洗次数******************************************************************************/
func wash_potato_shreds(times uint) {var i uint 0for i times {fmt.Printf(第[%d]遍清洗\n, i1)time.Sleep(time.Duration(default_wash_second) * time.Second)i}fmt.Println(土豆丝已清洗好浸泡片刻这水好清澈啊......)
}/******************************************************************************** 取出土豆丝准备使用******************************************************************************/
func get_potato_shreds() {fmt.Println(沥干水分取出土豆丝)
}/******************************************************************************** 烧水准备焯土豆丝用******************************************************************************/
func heat_up_water() {fmt.Println(起锅放入适量水直到烧开)
}/******************************************************************************** 趁烧水的空档准备辅料******************************************************************************/
func prepare_others() {fmt.Println(趁烧水的时间准备辅料)time.Sleep(time.Duration(default_wash_second) * time.Second)fmt.Println(姜切丝、青红辣椒切丝)time.Sleep(time.Duration(default_wash_second) * time.Second)fmt.Println(切葱花、剁蒜沫)time.Sleep(time.Duration(default_wash_second) * time.Second)fmt.Println(辅料已备好)
}/******************************************************************************** 焯土豆丝******************************************************************************/
func blanch_potato_shreds() {get_potato_shreds()fmt.Println(将土豆丝放入开水中焯致八分熟\n捞出土豆丝放入凉水中备用)time.Sleep(time.Duration(default_wash_second) * time.Second)
}/******************************************************************************** 炒土豆丝喽******************************************************************************/
func fry_potato_shreds() {fmt.Println(起锅加入适量油待油热加入花椒、姜丝、辣椒丝煸炒一下)time.Sleep(time.Duration(default_wash_second1) * time.Second)get_potato_shreds()fmt.Println(将土豆丝放入锅中快速翻炒)time.Sleep(time.Duration(default_wash_second2) * time.Second)fmt.Println(加入蒜沫、适量盐翻炒一下)time.Sleep(time.Duration(default_wash_second1) * time.Second)fmt.Println(加入适量醋翻炒一下)time.Sleep(time.Duration(default_wash_second) * time.Second)if 0 get_rand_number() {fmt.Println(出锅盛盘撒上些葱花开始享用啦)} else {fmt.Println(没控制好火候炒糊啦吃还是不吃这是个问题啊)}time.Sleep(time.Duration(default_wash_second2) * time.Second)
}/******************************************************************************** 获取炒制成功或失败的标志******************************************************************************/
func get_rand_number() int {my_rand : rand.New(rand.NewSource(time.Now().UnixNano()))return my_rand.Int() % 2
}/******************************************************************************** 炒好菜即刷锅还是吃过菜后刷好纠结啊******************************************************************************/
func clear() {fmt.Println(不要忘记刷锅 -*-_-*-)
}/******************************************************************************** 制作流程******************************************************************************/
func cook() {var sec uint 1var width, times uint(3), uint(4)select_potato(white)wash_potato(sec)peel_potato(sec)shred_the_potato(3, sec)wash_potato_shreds(4)heat_up_water()prepare_others()blanch_potato_shreds()fry_potato_shreds()clear()
}/******************************************************************************** guess what******************************************************************************/
func main() {cook()
}烹饪这道菜我至少学会了如何使用 go 的标识符变量、常量、注释、运算符及函数等。接下来做个总结 [注]很大部分来自官网感兴趣的可以去逛逛。 通过前面hello world那篇简单的入门我们知道第一行中的 package 是用来定义包的。
注释
注释主要起说明作用。好的注释可以方便别人及自己理解程序。 go 的注释有两种分别为 Line comments(//) 和 General comments(/* */)
注释描述Line comment从 // 开始到当前行结束General comment从 /* 开始到第一个 */ 结束
可以看到go 与 C(C99)/C 中的注释风格是一致的。
示例 // 这是一个Line comment/* 这是一个general comment,但是这个注释与行注释的表现是一样的 *//* 这也是一个general comment,它的表现就和行注释不一样了 */标识符
标识符用来给程序中的实体命名。比如对变量函数结构体等命名说白了就是给不同类型的变量起个唯一能标识它们的名字仅此而已。 go 中合法的标识符由一到多个字母、数字、下划线组成且首字母不能为数字。注意这里的字母是Unicode字母即汉字可以作为变量名但最好还是使用英文字符。
除了 go 使用 Unicode 字符作为标识符外其他规则与 C/C 是一致的。
关键字
说到标识符就不能不提关键字关键字是 go 预先定义好的标识符我们只能使用它们而不能将它们用作自己的标识符。
breakdefaultfuncinterfaceselectcasedefergomapstructchanelsegotopackageswitchconstfallthroughifrangetypecontinueforimportreturnvar
结合着C/CJavaPython等也就只有几个别的关键字没见过了对 go 的恐惧一下子就减少了很多。
除了上面的 25 个关键字外go 还预字义了以下的标识符它们是全局的仔细看一下是不是很多也不陌生。 Types:(21个)
boolbytecomplex64complex128errorfloat32float64intint8int16int32int64runestringuintuint8uint16uint32uint64uintptr
Constants:(3个)
truefalseiota
Zero value:(只此一个)
nil
Functions:(15个)
appendcapclosecomplexcopydeleteimaglenmakenewpanicprintprintlnrealrecover
感觉有些多且乱没关系多见几次就熟悉它们了。