golang Web網上學習三 備忘筆記

2021-10-25 14:37:12 字數 2995 閱讀 5975

len with

如何自定義函式

template.funcs(funcmap funcmap) *template

type funcmap [string] inte***ce{}

value 是函式 :可以有任意數量的引數,返回單個值或者 單個值+error
步驟: 建立乙個funcmap (map型別)

key 是函式名 value 就是函式

把funcmap 附加到模板上

例子:package main

如何使用自定義函式

常見用法: template.new("").funcs(funcmap).parse(…) 呼叫順序非常重要。 可以在管道中使用, 也可以作為正常函式使用 管道比較好

組合模板:

layout 模板 就是網頁中固定的部分, 他可以被多個網頁重複使用

include (包含) action 的形式 : }

以這種layout 模板是不可行的,正確的做法是在模板檔案中使用define action 在定義乙個模板

例子:package main

網頁 :

模板**;

document }

使用模板**;}

}使用 block action 定義預設模板

}don is set arg

}block action 可以定義模板,並同時就使用它

template : 模板必須可用

block : 模板可以不存在

連線sqlserver 資料庫

想要連線到sql 資料庫 首先需要載入目標資料庫驅動, 驅動資料報裡邊含著該資料庫互動的邏輯

sql.open() 資料庫驅動名稱, 資料來源名稱 得到乙個指向sql.db 這個struct 的指標

sql.db 是用來運算元據庫的,它代表0個或者多個底層連線的池,這些連線由sql包來維護,sql 包會自動建立和釋放這些連線。

note 注意事項:

open() 函式並不會連線資料庫,甚至都不會去驗證引數,它只是把後續連線到資料庫必須的 struct 給 設定好

而真正連線是在被需要的時候才進行的懶設定的

sql.db 不需要進行關閉,當然如果你想關閉也是可以的。

他就是用來處理資料的,而不是實際的連線。

這個抽象包含了資料庫連線池,而且會對此進行維護

在使用sql.db 的時候,可以定義它的全域性變數進行使用,也可以將它傳遞函式/方法裡。

如何獲取驅動: 正常的做法是使用sql.register() 函式,資料庫驅動的名稱和實現了driver.driver 介面的 struct 來註冊資料庫驅動, 例如:

sql.register("sqlserver",&div{})

但是之前的例子卻沒有用到,是在init() 函式裡邊。進行了自我註冊

func (*db) pingcontext

例子中的 db.pingcontext() 函式是用來驗證與資料連線是否仍然有效,如果必要則建立乙個連線。

這個函式需要乙個 context (上下文) 型別引數,這種型別可以攜帶時間 取消訊號 和其他請求範圍的值,並且可以橫跨 api 邊界和程序。

上例子中,建立 context 使用的是,context.background() 函式, 該函式返回乙個非 nil 的空 context 他不會被取消,他沒有值,沒有截止時間。

它通常在main 函式,初始化或者測試中, 作為傳入請求項context。

例子:

package main

import (

「database/sql」

「fmt」

「log」

_ "github.com/denisenkom/go-mssqldb"  // 根據自己放的驅動位置引用
var db *sql.db

const (

datasource = 「localhost」 // 本地 也可以填寫**

port = 1433 //資料埠號 目前是預設值

user = 「sa」 //登入資料庫的使用者名稱

pwd = 「123456」 //登入密碼

database = 「mytext」 //資料庫 根據自己資料庫填寫

sqltype = 「sqlserver」 //資料型別

)func main()

defer db.close()

err = db.ping()

if err != nil

fmt.println(「連線上資料庫:」 + constr)

}

專三(上)學習規劃

這學期的首要目標當然是努力考上本科嘍,認真的學習專公升本知識,是我以後能否走的更好的關鍵,在今年一月份就要參加基礎課考試,現在是九月離考試有四個月的時間,頭乙個半月的時間,先將三門基礎課全部過一遍,剩下的時間,乙個月的時間將基礎課的模擬試卷過掉2 3,半個月時間根據試卷中發現的問題不斷補充,乙個月的...

在慕課上學習的,HTML和CSS基礎學習筆記4

6 css,為網頁新增樣式 6 1 認識css css全稱為 層疊樣式表 cascading style sheets 它主要是用於定義html內容在瀏覽器內的顯示樣式,如文字大小 顏色 字型加粗等。p 使用css樣式的乙個好處是通過定義某個樣式,可以讓不同網頁位置的文字有著統一的字型 字型大小或者...

在慕課上學習的,HTML和CSS基礎學習筆記6

9 css的繼承 層疊和特殊性 9 1 繼承 繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。p 三年級時,我還是乙個膽小如鼠的小女孩。9 2 特殊性 p first 三年級時,我還是乙個膽小如鼠的小女孩。瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種...