Go 語言程序設(shè)計(jì)(2)

示例代碼:

package main

import (
    "fmt"
    "log"
    "os"
    "path/filepath"
)

func main() {
    if len(os.Args) == 1 {
        fmt.Printf("usage: @s <whole-number>", filepath.Base(os.Args[0]))
        os.Exit(1)
    }

    stringOfDigits := os.Args[1]
    for row := range bigDigits[0] {
        line := ""
        for column := range stringOfDigits {
            digit := stringOfDigits[column] - '0'
            if 0 <= digit && digit <= 9 {
                line += bigDigits[digit][row] + " "
            } else {
                log.Fatal("invalid whole number")
            }
        }
        fmt.Println(line)
    }
}

var bigDigits = [][]string{
    {"  000  ", " 0   0 ", "0     0", "0     0", "0     0", " 0   0 ", "  000  "},
    {" 1 ", "11 ", " 1 ", " 1 ", " 1 ", " 1 ", "111"},
    {" 222 ", "2   2", "   2 ", "  2  ", " 2   ", "2    ", "22222"},
    {" 333 ", "3   3", "    3", "  33 ", "    3", "3   3", " 333 "},
    {"   4  ", "  44  ", " 4 4  ", "4  4  ", "444444", "   4  ", "   4  "},
    {"55555", "5    ", "5    ", " 555 ", "    5", "5   5", " 555 "},
    {" 666 ", "6    ", "6    ", "6666 ", "6   6", "6   6", " 666 "},
    {"77777", "    7", "   7 ", "  7  ", " 7   ", "7    ", "7    "},
    {" 888 ", "8   8", "8   8", " 888 ", "8   8", "8   8", " 888 "},
    {" 9999", "9   9", "9   9", " 9999", "    9", "    9", "    9"},
}

知識點(diǎn):

  • os.Exit(1) 代表退出程序,并且返回 1 給操作系統(tǒng)(在類 Unix 系統(tǒng)中,程序返回 0 代表成功,非 0 代表執(zhí)行失敗)
  • fmt.Printf() 可以接受 % 占位符,類似于 Python 的 % 操作符(后續(xù)詳講)
  • += 在 golang 中是支持的,并且字符串的 + 連接也是支持的
  • log.Fatal() 記錄一條錯(cuò)誤信息,包含日期、時(shí)間、錯(cuò)誤信息,會默認(rèn)記錄到 os.Stderr , 并且調(diào)用 os.Exit(1) 終止程序

for 循環(huán):

go 語言中支持 3 種 for 循環(huán):

  1. 單個(gè)條件判斷:
for a < b {
    f(doThing)
}
// or 省略表達(dá)式,等價(jià)于true
for {   // for true {
    f(doThing)
}
  1. for語句中兩個(gè)分號:
for i:=0; i < 10; i++ {
    f(doThing)
}
// or
for i:=0; i < 10; {
    i++
    f(doThing)
}
// or 
var i int
for ; i < 10; {
    i++
    f(doThing)
}
  1. for和range結(jié)合的語句:
// k 代表 index,v 代表 value
for k,v := range []int{1,2,3} {
    f(doThing)
}
// or 
for k := range []int{1,2,3} {
    f(doThing)
}
// or
for range []int{1,2,3} {
    f(doThing)
}

多維數(shù)組:

go 支持定義多維數(shù)組,常用聲明方式為:

var variable_name [SIZE1][SIZE2]...[SIZEN] variable_type

// 例子:
var array = [3][4]int{  
 {0, 1, 2, 3} ,   /*  第一行索引為 0 */
 {4, 5, 6, 7} ,   /*  第二行索引為 1 */
 {8, 9, 10, 11},   /* 第三行索引為 2 */
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 6,343評論 0 10
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,259評論 0 38
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,363評論 0 17
  • 2018年4月23日 星期一 陰轉(zhuǎn)小雨 有一首歌名叫做《有一種愛叫做放手》,是??!真...
    康書萱閱讀 254評論 0 0
  • 走在公園里看見漫天飛舞的楊絮,王明心情不自禁的吟了一首詩:晚春 草木知春不久歸,百般紅紫斗芳菲。 楊花榆莢無才思,...
    王亦梅閱讀 858評論 2 2

友情鏈接更多精彩內(nèi)容