網頁

2016年11月21日 星期一

[Go教學] 控制台程式參數

有一段時間沒發新的文章了(汗

前陣子用go做了一個zfs的備份工具—zbackup
這個工具是所謂的控制台應用程式(console application),所謂的控制台應用程式就是在terminal (linux) 或是 cmd (windows) 運作的應用程式,這樣的程式是可以在啟動的時候輸入參數的,那麼用go如何讀取外面來的參數呢??

比較簡單的方法就是使用args
但我後來發現另一個更方便的package—flag

這次就來介紹這兩種讀取參數的方法吧~


2016年10月2日 星期日

[Go教學] 產生隨機數

想要在go程式中產生隨機數需要使用兩個package -> math/rand , time

rand是用來產生隨機數用的
而time則是以時間來產生隨機種子

先來說說rand的部份
使用前要先用 func (r *Rand) Seed(seed int64) 來產生種子
這邊裡面要填入的是任意整數

接者使用 func (r *Rand) Int() int 來產生隨機數

以下舉個例子


2016年9月13日 星期二

[Linux] 製作可開機隨身碟

今天重灌了電腦,由於目前主要使用linux,因此需要找一個方法來將系統燒錄到隨身碟

⊳ 第一步—準備映像檔:
那這次我選用的系統是 Apricity OS
這是一款基於Arch的系統,個人還蠻喜歡他的界面的
2016-09-13 22-57-53 的螢幕擷圖.png

2016年9月11日 星期日

[Go教學] 檔案輸入輸出(基礎)

最近在處理一些資料剛好用到了go的檔案輸入輸出,底下來講一些比較基本的部份吧~

流程以及基本函式:


上面這張圖就是這次要講的4個基本函式,其中最重要的就是OpenFile()以及Close(),以下逐一介紹~

2016年9月1日 星期四

[Go教學] (4) 基礎元件宣告

就如前一單元開頭所說,Go的宣告方式非常的多元www
當初在看的時候花了不少時間才弄懂,試著找出一種最適合自己的方法就好囉OuO

宣告的方式最主要分為兩種,自己指定類型 以及 由系統決定類型


自己指定類型:

這種宣告方式就是由自己來決定所宣告的變數是什麼類型
(ps.看完這篇就知道為啥會有兩種)

公式: 型態 變數名稱 變數類型 ( = 值 )


  • 型態分為 var (variable變數) 以及 const (constant常數)
    所謂的variable就是可以在事後改變所儲存的值,反之即是constnt
  • 變數類型就是常見的 int (整數) / float(浮點數) / string(字串)
  • ( = 值 ) 指定初始數值給宣告的這個變數

2016年8月30日 星期二

[Go] 用go語言翻轉Minecraft - go-mcpi-api

(圖片來源:http://pi.minecraft.net


Mcpi是一個創世神的函式庫,可以用來操控Minecraft Pi edition的世界

看到這裡你可能會想問:

  • Minecraft Pi Edition是什麼?
    Minecraft Pi Edition是開發來讓使用者學習程式免費Minecraft版本
    為了讓使用者能更輕易的接觸到程式設計,它被設計運作在價位低廉的樹梅派(Raspberry Pi)上,因而被稱為Pi Edition

    Minecraft Pi Edition 官方網站
  • Mcpi是什麼?
    Mcpi是可以搭配Pi Edition的函式庫,可以從寫程式玩遊戲的途中學習如何使用一門語言,從遊戲中學習,我第一次接觸的時候,雖然已經有點基礎了,但還是跟同學玩的不亦樂乎www

    Mcpi就我所知最原始的版本應該是用python寫成的,網路上也可以找到許多教學,中文的部份可以參考這本書(Minecraft新魔法:打破虛擬沙盒世界的界限),這本書是以python版本的教學為主

    另一個教學是我一開始接觸的,藉由7堂課,將整個api的基本用法教過一遍,我覺得寫的非常簡單易懂
    -> TeachCraft-Challenges


2016年8月5日 星期五

[Go教學] (3) 基礎元件介紹

go語言的宣告方式實在是超多種的,光型態就足以讓初學者搞混了
對第一次接觸的人會有相當大的困擾,當初我在學的時候也是看的眼花撩亂的www

我認為只要選擇一種自己用的最習慣的方式就可以了


基本上最常用的型態就三種 int(整數) / float(浮點數/小數) / string(字串)