XML DOM 獲取節點值
687
2025-03-31
常量
相對于變量,常量是恒定不變的值,比如:數學自然常數e,圓周率pi。常量中的數據類型只可以是布爾型、數字型(整數型、浮點型和復數)和字符串型。
Go語言中定義常量的關鍵字跟c語言一樣const:
const e = 2.718281const pi = 3.1415926const filename = "demo.txt"
也可以集中定義:
const( e = 2.718281 pi = 3.1415926 )
常量使用跟變量一樣:
package mainimport "fmt"func main() { const( e = 2.718281 pi = 3.1415926 ) r := 2.0 area := pi * r * r fmt.Println("圓的面積 = ", area) fmt.Println("自然常數e = ", e)}
枚舉
const能夠用作枚舉:
const ( Monday = 1 Tuesday = 2 Wednesday = 3 Thursday = 4 Friday = 5 )
iota
iota是一個特殊常量,可以認為是一個可以被編譯器修改的常量,第一個 iota 等于0,后面的依次+1
const ( _ = iota Monday Tuesday Wednesday Thursday Friday)fmt.Println(Monday, Tuesday, Wednesday, Thursday, Friday)
結果:
1 2 3 4 5
const ( i = 1 << iota j = 3 << iota k l)fmt.Println("i = ", i)fmt.Println("j = ", j)fmt.Println("k = ", k)fmt.Println("l = ", l)
i = 1, iota初始為0 --> 左移0位,不變 i = 1
j = 3, iota變為1,左移1位,3的二進制(011)–> 左移1位,變為6(二進制110)
k = 3, iota變為2,左移2位,011 --> 1100(也就是12)
l = 3, iota變為3,左移3位,011 --> 11000(也就是24)
i = 1j = 6k = 12l = 24
數學運算
Go語言同樣支持簡單的數學四則運算:加、減、乘、除。為了測試,我們創建一個mathDemo文件夾,然后創建一個GO文件 main.go:
package mainimport "fmt"func main() { // 變量聲明 var a, b int // 變量賦值 a = 20 b = 40 // 算數運算 // 加法 c := a + b fmt.Printf("%d + %d = %d \n", a, b, c) // 減法 d := a - b fmt.Printf("%d - %d = %d \n", a, b, d) // 乘法 e := float32(a) * float32(b) fmt.Printf("%d / %d = %.2f \n", a, b, e) // 除法 f := float32(a) / float32(b) fmt.Printf("%d / %d = %.2f \n", a, b, f)}
同樣,我們構建并運行這個程序:
cd mathDemo go build go run main.go
可以看到如下結果:
20 + 40 = 60 20 - 40 = -20 20 / 40 = 800.00 20 / 40 = 0.50
Go提供了大量的 數學函數庫 ,創建一個文件夾 mathdemo,新建 main.go。寫下如下的代碼;
package mainimport ( "fmt" "math")func main() { a := 2.4 b := 1.6 c := math.Pow(a, 2) fmt.Printf("%.2f^%d = %.2f \n", a, 2, c) c = math.Sin(a) fmt.Printf("Sin(%.2f) = %.2f \n", a, c) c = math.Cos(b) fmt.Printf("Cos(%.2f) = %.2f \n", b, c) c = math.Sqrt(a * b) fmt.Printf("Sqrt(%.2f*%.2f) = %.2f \n", a, b, c)}
運算結果:
2.40^2 = 5.76 Sin(2.40) = 0.68 Cos(1.60) = -0.03 Sqrt(2.40*1.60) = 1.96
自增和自減
Go 提供了自增和自減的語法:
++ syntax for increment. a++ means a = a + 1—- syntay for decrement. a—- means a = a - 1
創建一個文件夾 incdec,然后創建 main.go
package mainimport "fmt"func main() { var a = 4 fmt.Printf("a = %d \n", a) // 自增 a = a + 1 fmt.Printf("a + 1 = %d \n", a) a++ fmt.Printf("a ++ = %d \n", a) // 自減 a = a - 1 fmt.Printf("a - 1 = %d \n", a) a-- fmt.Printf("a -- = %d \n", a)}
輸出結果:
a = 4 a + 1 = 5 a ++ = 6 a - 1 = 5 a -- = 4
獲得鍵盤輸入
在fmt庫中,提供了一個從鍵盤獲得輸入的方法,Scanf()。
為了演示示例,計算圓的面積。在這個例子中,我們需要輸入一個半徑的值。
創建一個文件inputdemo,然后創建一個文件main.go,寫入如下代碼:
package mainimport ( "fmt" "math")func main() { fmt.Println("圓面積計算") fmt.Print("輸入一個半徑值:") var radius float64 fmt.Scanf("%f", &radius) area := math.Pi * math.Pow(radius, 2) fmt.Printf("半徑為 %.2f 的圓面積 = %.2f", radius, area)}
結果
圓面積計算輸入一個半徑值:2半徑為 2.00 的圓面積 = 12.57Process finished with exit code 0
Go
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。