今天來講酷酷的新東西:goto
以前在Python好像沒看過
goto
這東東基本上就是個傳送門!
直接附上官網的示範:
void CheckMatrices(Dictionary<string, int[][]> matrixLookup, int target)
{
foreach (var (key, matrix) in matrixLookup)
{
for (int row = 0; row < matrix.Length; row++)
{
for (int col = 0; col < matrix[row].Length; col++)
{
if (matrix[row][col] == target)
{
goto Found;
}
}
}
Console.WriteLine($"Not found {target} in matrix {key}.");
continue;
Found:
Console.WriteLine($"Found {target} in matrix {key}.");
}
}
我們可以看到最裡面的那層if裡面有個goto,也就是說只要符合那個if的條件,就會直接傳送到最下面的Found,省略掉中間的輸出。
再仔細看看,會發現被跳過的那段輸出寫著"Not found",而最下面的Found則會輸出Found,應該就很明確ㄌ。
話說在寫完goto的下一兩篇後,發現傳說中的Spaghetti code原來和goto有關
明天就先來寫這個吧!
註:今天加退選最後一天,猶豫到現在還是不知道該退誰。感覺我不會在系統關閉前想好耶,這學期會不會爆掉啊