《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>
", 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’的偏移,然后把每个数的对应行的字符串表示拼接起来。。有点像像素拼图。

原文地址:https://www.cnblogs.com/mruoli/p/4693952.html