您好,登錄后才能下訂單哦!
本篇內容主要講解“Goland字符串格式化樣式中“\r“的作用是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Goland字符串格式化樣式中“\r“的作用是什么”吧!
格式化字符串(Format String)是在編程過程中,允許編碼人員通過特殊的占位符,將相關對應的信息整合或提取的規則字符串。
簡單地說,也就是我們編程過程中常用的空格附、換行符、制表符等。
格式化字符串包括格式化輸入和格式化輸出。
格式化字符串的本質,可以理解為是編碼過程中,程序員調用相關格式化字符串的一個操作協議規定。
在這個協議規定中,程序員必須嚴格依照格式化字符中的占位符,嚴格進行相關的信息配置。錯誤的或者不當的信息配置,會導致程序運行失效,甚至未定義行為產生。
在編譯過程中,編譯器通常會首先對格式化字符串進行加載解析,獲取其中的占位符以及各個占位符(可為空)的修飾符,針對占位符以及修飾符的要求,對后續的參數進行讀取。通常,對于絕大多數庫函數而言,這個過程通常是沒有驗證的。1
"\r"
起的作用是回到行首,當前控制臺輸出,輸出完以后回到當前行的行首。
具體示例如下,這樣可以起到對輸出字符的覆蓋作用,進而實現如下動態效果:
這是一個利用go語言書寫的代碼,代碼的主要作用如上面動態圖所示。
其原理為,通過采用遞歸方式求解斐波那契數列,使得主程序在較長時間內不會結束。
在這期間,開辟一個協程,在協程內通過“\r”實現不斷返回行首,進行不同字符的輸出,進而實現程序運行效果。
package main import ( "fmt" "time" ) func main() { go spinner(100 * time.Millisecond) const n = 45 fibN := fib(n) // slow fmt.Printf("\rFibonacci(%d) = %d\n", n, fibN) } func spinner(delay time.Duration) { for { for _, r := range `-\|/` { fmt.Printf("\r%c", r) time.Sleep(delay) } } } func fib(x int) int { if x < 2 { return x } return fib(x-1) + fib(x-2) }
到此,相信大家對“Goland字符串格式化樣式中“\r“的作用是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。