go語言系列 輸出正弦函式

2022-01-25 15:54:48 字數 1818 閱讀 7427

庫與包之間的理解可以模擬成:資料庫種的庫和表

庫名作用

image

常見圖形格式的訪問及生成

log日誌記錄庫

math

數學庫os

作業系統平台不依賴平台操作封裝

檢視庫與包的幫助文件:

package main

import (

"image""

image/color""

image/png""

log"

"math""

os")func main() )}}

//從0到最大畫素生成x座標

for x := 0; x < size; x++)

}//建立檔案

file, err := os.create("

sin.png")

if err !=nil

//使用png格式將資料寫入檔案

png.encode(file, pic) //

將image資訊寫入檔案中

//關閉檔案

file.close()

}

實驗結果截圖:

//大小

2const size = 3003//

根據給定大小建立灰度圖

4 pic := image.newgray(image.rect(0, 0

, size, size))5//

遍歷每個畫素

6for x := 0; x < size; x++)10}

11 }

**說明:

注:灰度圖是一種常見的格式,一般情況下顏色由 8 位組成,灰度範圍為 0~255,0 表示黑色,255 表示白色。初始化好的灰度圖物件記憶體區域預設值都是 0,對應全是黑色,考慮到顯示效果和習慣,將所有畫素設定為 255,也就是白色。

正弦函式是乙個週期函式。定義域是實數集,值域範圍是 [-1, 1]。用程式設計的通俗易懂的話來說就是:math.sin 函式的引數支援任意浮點數範圍,函式返回值的範圍總是在 -1~1之間(兩端包含)。

將這些處理邏輯彙總為**:

1

//從0到最大畫素生成x座標

2for x := 0; x < size; x++)

9 }

**說明:

rate := x /size

s := rate * 2 * math.pi

x 的範圍是 0 到 size,因此除以 size 後,rate 的範圍是 0~1 之間,再乘以 2π 後,s 的範圍剛好是 0~2π 之間。float64(x) 表示將整型的 x 變數轉換為 float64 型別,之後運算的所有表示式將以 float64 型別進行。

記憶體中的正弦函式圖形是不可見的,我們選用 png 格式將圖形輸出為檔案。go 語言提供了檔案建立函式和 png 格式寫入函式,**如下:

1

//建立檔案

2 file, err := os.create("

sin.png")

3if err !=nil 6//

使用png格式將資料寫入檔案

7 png.encode(file, pic) //

將image資訊寫入檔案中8//

關閉檔案

9 file.close()

**說明:

Go語言 函式

函式是結構化程式設計的最小模組單元,使用關鍵字 func 定義函式。go語言定義函式的一些特點總結如下 無需前置宣告 不支援命名巢狀定義 不支援同名函式過載 不支援預設引數 支援不定長變參 支援多返回值 支援命名返回值 支援匿名函式和閉包 函式屬於第一類物件,具備相同簽名 引數及返回值型別 的視為同...

Go語言函式

go語言函式function go函式不支援巢狀 過載和預設引數 但支援以下特性 無需宣告原型 不定長度引數 多返回值 命名返回值引數 匿名函式 閉包 定義函式使用關鍵字func,且左大括號不能另起一行 函式也可以作為一種型別使用 不定引數 不定引數的傳遞 任意型別的不定引數 如果你希望傳任意型別的...

Go 語言函式

func function name parameter list return types parameter list 引數列表,引數就像乙個佔位符,當函式被呼叫時,你可以將值傳遞給引數,這個值被稱為實際引數。引數列表指定的是引數型別 順序 及引數個數。引數是可選的,也就是說函式也可以不包含引數...