go學習筆記(3)
在過去一段時間裡面,使用nodejs,或者使用npm 一些指令碼功能就能對一個資源目錄提供一個web的訪問功能,非常方便。在接觸了golang裡後,有一些比較簡潔的程式碼能夠實現過去一直的想法,嘗試搭建一個靜態的web伺服器。至於程式碼是怎樣,golang 的一些案例程式碼發現以下的案例非常有意思。所以今天記錄下來。為了實現一個功能。在打包後,修改登錄檔新增一個滑鼠右鍵的選單,並且對滑鼠右鍵選單實現關聯golang匯出的exe檔案。這樣一來解決了我過去一些想用c#做的程式碼。看如下程式碼案例。
1.構建golang程式
這裡的程式碼中,加上一個執行的引數的判定。當使用右鍵選單時候,外部傳遞進來進行捕捉。
package main
import (
"fmt"
"log"
"net/http"
"os"
)
func main(){
path := "file";
if( len(os.Args) > 1){
path = os.Args[1]
}
fmt.Println(path)
http.Handle("/", http.FileServer(http.Dir(path)))
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe",err)
}
}
完成後,使用go build 進行編譯構建出一個執行檔案。
2. 新增滑鼠右鍵選單
使用命令regedit進入登錄檔,中
HKEY_CLASSES_ROOT\Directory。這個登錄檔針對資料夾開啟才有效。
在這裡新增一個命令資料夾egret,對其修改預設值Server,並在內部建立一個選項命為command。這個項中,需要加上一個值,關聯構建後的exe程式httpgo.exe。
"G:\google\golang小工具\tool\httpgo .exe" "%1"
其中%1 會返回一個路徑給程式。這個程式通過main函式裡面獲取到入口引數。
在除錯過程中,發現os.Args的引數長度大於0,這一點有點奇怪。經過修改下標獲取當選單選項後對應的絕對路徑。
這樣一來,打包後的程式。設定登錄檔選單後,呼叫一下就能實現對某一個資料夾進行實現web目錄。。
執行完成後,該小型功能能夠實現到靜態檔案的web功能。這對於弄實驗開發egret非常有意思。但是有一個現象是,當每次執行不同的golang的時候,瀏覽器會記住舊的情況,所以需要刪除快取,方可以完成。這一點,不知道為什麼。在學習golang的時候有點疑惑。
完成後,可以滑鼠右鍵對一個資料夾實現一個web目錄的預覽了。當白鷺打包後的web程式想執行,不妨可以試試這個方法。其實也可以把相應的程式丟到xampp tomcat等伺服器中去。
相關推薦
go學習筆記(3) -- package fmt
package fmt fmt包實現了格式化的I/O函式,這點類似C語言中的printf和scanf,但是更加簡單,其中的格式“佔位符”衍生自 C 佔位符 一般佔位符 布林佔位符 浮點數及其複合構成佔位符 指標 fmt中的方法: // Print 將引數列表
go學習筆記(3)
在過去一段時間裡面,使用nodejs,或者使用npm 一些指令碼功能就能對一個資源目錄提供一個web的訪問功能,非常方便。在接觸了golang裡後,有一些比較簡潔的程式碼能夠實現過去一直的想法,嘗試搭建一個靜態的web伺服器。至於程式碼是怎樣,golang 的一
TCP/IP詳解學習筆記(3)IP協議ARP協議和RARP協議
out 處理機 傳輸 包含 發送 res 這也 進行 默認 把這三個協議放到一起學習是因為這三個協議處於同一層,ARP協議用來找到目標主機的Ethernet網卡Mac地址,IP則承載要發送的消息。數據鏈路層可以從ARP得到數據的傳送信息,而從IP得到要傳輸的數據信息。
spring學習筆記(3)——bean配置細節註意
collect 1.5 之前 ice ble person name return 引用 1. 一個bean引用另外一個bean 當Person類中有一個屬性是Car,那麽該如何配置呢 person: package com.zj.spring; public class
QT學習筆記(3) 我的第一個程序
9.png har 中文 gets 有一個 setw 通過 坐標 關系 今天,學習搭建一個空項目,了解程序是如何運行的。 (1)新建一個空項目 1、在創建完空項目之後,項目中只有一個空的項目文件( .pro) 2、然後需要在項目文件(.pro)中添加:
Hibernate學習筆記(3)---hibernate關聯關系映射
gen -m type foreign out eas ner 機制 路徑 一對一關聯 假設有兩個持久化類(實體類)User與Address,它們之間存在一對一的關系 1,通過主鍵關聯(個人偏向另外一種) User.hbm.xml文件配置 <id name="u
C++深度解析教程學習筆記(3)函數的擴展
插入 分享 技術 lsp 預處理器 _for 返回 忽略 結合 1.內聯函數 1.1.常量與宏的回顧 (1)C++中的 const 常量可以替代宏常數定義,如: const int A = 3; //等價於 #define A 3 (2)C++中是否有解決方案,可以用來
shell學習筆記(3)
shell 基礎 雜記if 一、if基礎 1、單分支 1.1 語法 if語句語法 單分支結構語法: if [條件]; then 指令 fi 或 if [條件] then 指令 fi 1.2 例子 [roo
Python學習筆記(3)
python重要的數據類型Dict和Setdict通過key 查找value(key和value關聯)花括號{ }表示這是一個dict,然後按照key:value,寫出來即可。最後一個key:value的都好可以省略 註意: 單元素的tuple必須在後面多家加一個逗號dict最後的逗號可以省略由於dict也是
莫煩大大TensorFlow學習筆記(3)----建立神經網絡
nbsp 定義數據 學習筆記 variables ati 選擇 mea 有變 plus 1、def add_layer() 添加神經網絡層: import tensorflow as tf def add_layer( inputs, in_size, out_si
jQuery 學習筆記(3)(內容選擇器、attr方法、prop方法,類的操作)
節點 lec ddc 方法 pty 全部 如果 一個 所有 內容選擇器: 1、$("div:empty"): 空的div元素 2、$("div:parent"): 非空div元素 3、$("div:contains(text)"): 包含 text 文本(指定文本)的div
Java暑期學習筆記(3)
ring out 顯示 字節數 順序 作用 提示 string轉換 gbk # 2018.7.11 # * 1.匿名內部類(只針對重寫一個方法時候使用,不能向下轉型,因為沒有子類類名) * new Inter(){ public
VBA二次學習筆記(3)——批量合並單元格
false spl png next com src 了吧 merge 昨天 說明(2018-9-16 22:17:49): 1. 昨天運動會,100米八個人跑了第五,400米五個人跑了第三,得了個榨汁機。終於結束了哈哈哈!之前一個星期緊張的天天拉肚子,真是沒出息。。不過養
javaweb-servlet學習筆記(3)
tps 技術分享 tex 周期 目錄 tom text let 垃圾 servlet的生命周期要經過:實例化,初始化,提供服務,銷毀,回收五個階段。 1.當用戶訪問一個路徑,該路徑對應的servlet被調用的時Servlet就會被實例化。且無論訪問多少次servlet,其
Spring入門學習筆記(3)——事件處理類
aware super 不能 href his 應用 odi eap app 目錄 Spring中的事件處理 Spring內建事件 監聽Context事件 Example 自定義Spring事件 Spring中的事件處理 ApplicationContext 是Spr
TCP/IP學習筆記(3)----IP,ARP,RARP協議
ip地址 讀取 出現 請求 直接 ip學習筆記 mac height ttl 把這三個協議放到一起學習是因為這三個協議處於同一層(網絡層協議),ARP協議用來找到目標主機的Ethernet網卡Mac地址,IP則承載要發送的消息。數據鏈路層可以從ARP得到數據的傳送信息,而從
Linux學習筆記(3)linux服務管理與啟停
重啟 禁用 multi etc 刪除服務 shel ive 系統 運行級別 一、LINUX 系統服務管理 1、RHEL/OEL 6.X及之前 service命令用於對系統服務進行管理,比如啟動(start)、停止(stop)、重啟(restart)、查看狀態(statu
Html學習筆記(3)
認識標籤 <a>標籤連結到另一個頁面,語法: <a href="目標網址" title="滑鼠滑過顯示的文字">連結顯示的文字</a> 只要為文字加入a標籤後,文字的顏色就會自動變為藍色(被點選過的文字顏色為紫色),通過C
開源容器openshift學習筆記(3):新增Image Stream
開篇之前如果沒有安裝openshift環境可以參考我的博文:centos7下安裝openshift 本系列部落格學習筆記參考《開源容器雲openshift》一書:下載連線:https://download.csdn.net/download/u012371097/10745382  
cesium 學習筆記(3)2018.6.11
1.cesium取色方法: Cesium.Color(red, green, blue, alpha) red, green, blue, alpha的取值範圍都是0到1 2.cesium取色方法2: Cesium.Color.fromRgba(0x67ADDFFF); 3.隨