w的类型为http.ResponseWriter
这很好:
fmt.Fprintf(w, statusPercentage + " " + mostUpToDateStatusDownloaded + "/"+ mostUpToDateStatusOverallData)
输出:100 488 MB / 488 MB
这会导致问题:
fmt.Fprintf(w, statusPercentage + "% " + mostUpToDateStatusDownloaded + "/"+ mostUpToDateStatusOverallData)
输出:100%! (MISSING)MB / 488 MB
答案 0 :(得分:5)
dispatch_async(dispatch_get_main_queue(), 0), ^{
// your CoreData initialize here
}
是一个特殊的占位符符号。如果你想把它作为一个符号本身放入一个字符串 - 复制它。像:
%
输出:
fmt.Fprintf(w, "Growth %v %%", "50")
答案 1 :(得分:4)
使用任意应用程序字符串作为fmt.Fprintf和朋友的格式说明符通常不是一个好习惯。应用程序应使用固定格式字符串或将字符串转换为字节并将字节直接写入响应。
以下是使用格式字符串的方法:
// note that '%' is quoted as %%
fmt.Fprintf(w, "%s%% %s/%s", statusPercentage, mostUpToDateStatusDownloaded, mostUpToDateStatusOverallData)
以下是跳过格式化并直接写入响应的方法:
io.WriteString(w, statusPercentage + "% " + mostUpToDateStatusDownloaded + "/"+ mostUpToDateStatusOverallData)