《go语言程序设计》学习(二)

基础

一,hello

  1 package main                                                                                                                                                       2
  3 import (
  4     "fmt"
  5     "os"
  6     "strings"
  7 )
  8
  9 func main() {
 10     who := "World"
 11     if len(os.Args) > 1 {
 12         who = strings.Join(os.Args[1:], " ")
 13     }
 14     fmt.Println("Hello", who)
 15 }

  

好像这个就没啥要解释的了,直接run就行了。。

二,bigdigits

  1 package main                                                                                                                                               2
  3 import (
  4     "fmt"
  5     "log"
  6     "os"
  7     "path/filepath"
  8 )
  9
 10 func main() {
 11     if len(os.Args) == 1 {
 12         fmt.Println("usage: %s <whole-number>\n", filepath.Base(os.Args[0]))
 13         os.Exit(1)
 14     }
 15     stringOfDigits := os.Args[1]
 16     for row := range bigDigits[0] {
 17         line := ""
 18         for column := range stringOfDigits {
 19             digit := stringOfDigits[column] - ‘0‘
 20             if 0 <= digit && digit <= 9 {
 21                 line += bigDigits[digit][row] + " "
 22             } else {
 23                 log.Fatal("invalid who number")
 24             }
 25         }
 26         fmt.Println(line)
 27     }
 28 }
 29
 30 var bigDigits = [][]string{
 31     {"  000  ",
 32         " 0   0 ",
 33         "0     0",
 34         "0     0",
 35         "0     0",
 36         " 0   0 ",
 37         "  000  "},
 38     {" 1 ", "11 ", " 1 ", " 1 ", " 1 ", " 1 ", "111"},
 39     {" 222 ", "2   2", "   2 ", "  2  ", " 2   ", "2    ", "22222"},
 40     {" 333 ", "3   3", "    3", "  33 ", "    3", "3   3", " 333 "},
 41     {"   4  ", "  44  ", " 4 4  ", "4  4  ", "444444", "   4  ",
 42         "   4  "},
 43     {"55555", "5    ", "5    ", " 555 ", "    5", "5   5", " 555 "},
 44     {" 666 ", "6    ", "6    ", "6666 ", "6   6", "6   6", " 666 "},
 45     {"77777", "    7", "   7 ", "  7  ", " 7   ", "7    ", "7    "},
 46     {" 888 ", "8   8", "8   8", " 888 ", "8   8", "8   8", " 888 "},
 47     {" 9999", "9   9", "9   9", " 9999", "    9", "    9", "    9"},
 48 }
~                                                    

这段代码。。好像也没啥好说的。。嗯,用range获取每个参数数字的相对‘0’的偏移,然后把每个数的对应行的字符串表示拼接起来。。有点像像素拼图。

时间: 2024-11-10 22:54:33

《go语言程序设计》学习(二)的相关文章

C语言程序设计学习心得

一,思维导图 二,语法认识 1,if-else的用法 if (条件一) { 语句一; } else { 语句二; } 问题:else与if的匹配关系不明确,导致程序异常. 解决方法:牢记else与离其最近的一个if配对,不与其他的if连用,并规范代码书写格式,使其看起来跟加清晰明了. 2,while语句的用法 while (循环条件) { 循环语句; } 注意事项:while比较好用,基本上所有的循环结构都能用while写. 3,for语句的用法 for(表达式1; 表达式2; 表达式3) {

C语言程序设计(二)

第二节课我们知道的是,C语言将计算机的输入输出设备都可以看作是文件. 根据资料显示,那么,如果写一个字符串到一个文件中,是什么方式呢?显示到屏幕上是默认的输出文件,如果是硬盘中的一个文件,首先要打开一个文件,然后才能往里写,那么就要告诉程序这个文件在什么地方,按照什么样的方式打开(读.写.读和写.添加.覆盖等),然后打开后要给这个打开的文件一个符号(指针变量),表示后续的读和写都是针对这个文件的,而不是到屏幕的,这个指针变量以后就代表了文件自身了. 我们分析例如学生信息管理系统中,需要同时保存一

JavaScript高级程序设计学习(二)之基本概念

任何语言的核心都必然会描述这门语言基本的工作原理.而描述的内容通常都要涉及这门语 言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念.如前所述, ECMA-262通过叫做 ECMAScript的"伪语言"为我们描述了 JavaScript的所有这些基本概念 本篇文章主要讲语法,类型,操作符,语句和函数. 任何编程,都是从基础的语法开始,例如java,java也有基础语法,操作符,数据类型,控制语句等.c++,php,python也同理. js与java在变量上有其共同

中国大学MOOC-翁恺-C语言程序设计习题集

Technorati 标签: 中国大学MOOC-翁恺-C语言程序设计习题集,C 今年网易出了"中国大学MOOC",于是选了浙大翁恺老师的"C语言程序设计"学习,近期打算把自己在该课程中的PAT习题解答做一个记录,等自己编程能力提高后再来看现在写的代码哪里还有写的不好,可以改进的地方,达到反思的目的.   中国大学MOOC-翁恺-C语言程序设计习题集,布布扣,bubuko.com

C语言程序设计入门学习五步曲(转发)

笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢? 二.用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识.例如,如果你不知道长方形的面积公式,即使C语言

2018年秋季学期《c语言程序设计》学习总结

<c语言程序设计>第四周学习总结 <c语言程序设计>第五周学习总结 <c语言程序设计>第六周学习总结 <c语言程序设计>第七周学习总结 <c语言程序设计>第八周学习总结 <c语言程序设计>第九周学习总结 <c语言程序设计>第十周学习总结 <c语言程序设计>第十一周学习总结 <c语言程序设计>第十二周学习总结 <c语言程序设计>第十三周学习总结 原文地址:https://www.cnblo

《go语言程序设计》学习(一)

序言 2年前的这个时候认识到了golang,然后兴匆匆的去书店买了本书,go语言,云动力吧好像是,结果拿过来一开始,环境就设置不上,折腾了几天,然后就不了了之了. 1年前的这个时候,再次路过书店,看到了<go语言程序设计>这本书,按耐不住心痒痒,又买回来,结果看了两章,又头昏脑胀,没坚持下去. 前几天看很多人都在讨论golang,我就又去把书翻出来了,这次决定要再前进一步,争取把书看完. (一个拖延症的懒癌患者的内心,是咆哮的) 一,示例代码:gobook已下载 二,开发环境:go 1.4,v

现代C语言程序设计之数据存储(二)

现代C语言程序设计之数据存储(二) C语言 2.5 原码.反码.补码的计算   原码 反码 补码 +7 00000111 00000111 00000111 -7 10000111 11111000 11111001 +0 00000000 00000000 00000000 -0 10000000 11111111 00000000 数的取值范围 -127-127 -127-127 -128-127 从上面的表格可以看出,正数的原码.反码和补码都相同,而负数的补码就是原码取反(最高位不变,其他

《VB语言程序设计(第3版)》总结

我之前因学习昆仑通态的组态软件MCGS,用并学习过VB,还买了一本书<VB语言程序设计(第3版)>.现在在某公司实习,最近接触老的项目,又要用到VB.我就又把那本书大体看了一遍,并对其进行了总结.之所以总结这个,主要是书太多了,想把那本书丢了,呵呵,但又得留下点东西吧. 下面一张图概括了VB的大部分基础知识点,看了这个图基本就不用看书了,哈哈. 我学习VB主要是在VB6.0的环境下学习的.下面介绍一下VB的一些基本语句. (1)声明语句 Dim score As Integer, temp A

Linux程序设计学习笔记----网络编程之网络数据包拆封包与字节顺序大小端

网络数据包的封包与拆包 过程如下: 将数据从一台计算机通过一定的路径发送到另一台计算机.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示: 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据包(packet),在链路层叫做帧(frame).数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理. 上图对应两台计算机在同一网段中的情况,