我在一个项目中工作,并在go中使用"database/sql"包.我想使用在"database/sql"包中声明的struct"DB"作为我的func的参数,所以我可以使用sql.Open()的返回值和我的func的参数.有可能吗?代码如下:
package main
import (
"database/sql"
"fmt"
_ "github.com/Go-SQL-Driver/MySQL"
)
func main() {
var table string = "tablename"
db, err := sql.Open("mysql", "user:password@/dbname")
// read data from database
read(db, table)
}
func read(db *DB, table string) {
// read
}
Run Code Online (Sandbox Code Playgroud)
此代码抛出"undefined:DB"错误.
我在 go 中使用 websocket。我从一个简单的例子中得到了一个 websocket url 格式,我像这样用谷歌搜索:
ws://{{$}}/ws
Run Code Online (Sandbox Code Playgroud)
比较完整的代码如下:
主页.html:
<html>
<head>
<title>Chat Example</title>
<script type="text/javascript">
$(function() {
......
if (window["WebSocket"]) {
conn = new WebSocket("ws://{{$}}/ws");
conn.onclose = function(evt) {
appendLog($("<div><b>Connection closed.</b></div>"))
}
conn.onmessage = function(evt) {
appendLog($("<div/>").text(evt.data))
}
} else {
appendLog($("<div><b>Your browser does not support WebSockets.</b></div>"))
}
......
});
</script>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
和 wsServer.go:
package main
import (
"flag"
"log"
"net/http"
"text/template"
)
var addr = flag.String("addr", ":8080", "http service address")
var homeTempl = template.Must(template.ParseFiles("home.html"))
func serveHome(w http.ResponseWriter, …Run Code Online (Sandbox Code Playgroud) 我在项目中使用HTML5的文件系统功能.并尝试使用for循环连续写入文本附加到文件.但实际上它只会影响一次写入,这是最后一次写入,即使我有5次"写入已完成".(这应该意味着它成功写了5次).这是我的代码:
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
var fs;
function initFS() {
console.log("init filesystem")
window.requestFileSystem(window.TEMPORARY, 1024 * 1024, function (filesystem) {
fs = filesystem;
console.log(fs);
}, errorHandler);
}
function errorHandler(e) {
var msg = '';
switch (e.code) {
...
};
console.log('Error: ' + msg);
}
function receiveFile(cont) {
fs.root.getFile('log.txt', {
create: true
}, function (fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function (fileWriter) {
fileWriter.seek(fileWriter.length);
fileWriter.onwriteend = function (e) {
console.log('Write …Run Code Online (Sandbox Code Playgroud) 是否有一个技巧来显示linux命令的特定选项?比如我想知道关于tar -z选项的一些细节,我试试这个:tar --help | grep '-z'但没有显示任何内容.
那么有可能只显示有关特定命令选项的详细信息吗?
如果你能帮助我,请先欣赏.
go ×2
bash ×1
filewriter ×1
grep ×1
html5 ×1
javascript ×1
linux ×1
shell ×1
url ×1
websocket ×1