iT邦幫忙

7

蠻可愛的 golang #2

今天說明一下昨天的程式.

// hello1
package main

import (
	"fmt"
)

func main() {
	可愛()
}

func 可愛() {
	fmt.Println("Golang 蠻可愛的")
}

package : golang程式是用package方式來組織.
import : 可以讓程式使用外部的程式碼.在此是引用標準函式庫裡的fmt,
fmt 是格式化輸出函式庫.
main() : 跟C一樣,代表主程式.
可愛() : 是一個自定義函數. 名字就叫 可愛. 因為golang天生的支持unicode,所以使用漢字,日文等等都很自然.
fmt.println() : 列印後自動換行的函式. 等於傳統上C 的printf()裡面加上\n. 更方便使用.


0
總裁
iT邦好手 1 級 ‧ 2014-07-01 20:12:52

hitomitanaka提到:
fmt.println("美女")

偷笑

總裁 iT邦好手 1 級 ‧ 2014-07-01 20:13:23 檢舉

有BUG....Orz

0
一級屠豬士
iT邦大師 1 級 ‧ 2014-07-01 20:21:06

遵照總裁指示,已經修正了.

<pre class="c" name="code">// hello2
package main

import (
	"fmt"
)

func main() {
	可愛()
}

func 可愛() {
	fmt.Println("總裁愛美女!!")
}

編譯後,執行結果如下:

看更多先前的回應...收起先前的回應...
總裁 iT邦好手 1 級 ‧ 2014-07-01 20:24:13 檢舉

我比較喜歡蠻可愛的美女....臉紅

總裁
你老婆剛剛在店裡買了一把菜刀,他很火偷笑

總裁 iT邦好手 1 級 ‧ 2014-07-02 10:42:26 檢舉

不可能的,這個

cdfu提到:
蠻可愛的美女

就是我家女王呀...哈哈

john iT邦新手 5 級 ‧ 2018-10-11 14:41:33 檢舉

這好唷~給你一個讚~

0
iverson68214
iT邦新手 4 級 ‧ 2014-07-02 18:47:27

我也來個無聊小遊戲

<pre class="c" name="code">
package main

import (
	"fmt"
	"time"
)

type general struct {
	name     string
	strength int
	soldier  int
}

// 讓角色有攻擊指令
func (self *general) attack(target *general) {
	target.soldier = target.soldier - self.strength
	fmt.Printf("\n%s 攻擊 %s 損失了 %d 兵力,剩餘 %d 兵力\n",
		self.name, target.name, self.strength, target.soldier)
}

// npc 每三秒攻擊一次
func npcRun(npc *general, role *general) {
	for npc.soldier > 0 && role.soldier > 0 {
		npc.attack(role)
		time.Sleep(3 * 1e9)
	}
}

func main() {
	role := &general{"張飛", 255, 1000}
	enemy := &general{"岳飛", 240, 1000}
	go npcRun(enemy, role)

	for enemy.soldier > 0 && role.soldier > 0 {
		var command int
		fmt.Print("請下指令 1.攻擊 2.待命:")
		fmt.Scanln(&command)
		if command == 1 {
			role.attack(enemy)
		}
		time.Sleep(1e9)
	}
	if role.soldier > enemy.soldier {
		fmt.Println("你贏了!")
	} else {
		fmt.Println("你輸了!")
	}
}
0
一級屠豬士
iT邦大師 1 級 ‧ 2014-07-02 21:51:22

感謝回應.蠻有趣的程式.不過 time.Sleep(1e9) 來代表sleep一秒的方式,
是比較早的寫法.
改為time.Sleep(time.Second) 這樣可讀性會更好.

我要留言

立即登入留言