//1.編寫代碼分别定義一個整型、浮點型、布爾型、字元串型變量,使用fmt.Printf()搭配%T分别列印出上述變量的值和類型。
package main
import "fmt"
func main() {
var a int = 1
var b float64 = 3.14
var c = true
d := "chenjunde"
fmt.Printf("a= %d\n", a)
fmt.Printf("b= %f\n", b)
fmt.Printf("c= %t\n", c)
fmt.Printf("d= %s\n", d)
fmt.Printf("a: %T\n", a)
fmt.Printf("b: %T\n", b)
fmt.Printf("c: %T\n", c)
fmt.Printf("d: %T\n", d)
}
知識點:
1.fmt包
2.變量的基本概念
// 2.編寫代碼統計出字元串"hello沙河小王子"中漢字的數量。
package main
import "fmt"
//思路:
// 1. 周遊字元串 判斷如果字元 ASCII > z 說明字元是漢字
// 2. 周遊字元串
// func Is(rangeTab *RangeTable, r rune) bool
// 方法判斷字元是否是漢字 傳回值是一個布爾類型
// unicode.Han:指針類型
//思路1:按照ASCII進行判斷
func main() {
str := "hello 沙河小王子"
number := 0
for _, value := range str {
if value > 'z' {
//這個是漢字
number++
}
}
fmt.Println("number:", number)
}
思路2:按照unicode包的方法 對字元進行判斷
func main() {
number := 0
str := "hello 沙河小王子"
for _, value := range str {
if unicode.Is(unicode.Han, value) {
number++
}
}
fmt.Println("number:", number)
}
知識點:
1.字元串的周遊字元的方式
2.for range 循環
3.unicode包
Is(rangeTab *RangeTable, r rune) bool 函數
unicode.Han 内置的指針變量
//求數組[1, 3, 5, 7, 8]所有元素的和
package main
import "fmt"
func main() {
count := 0
a := [...]int{1, 3, 5, 7, 8}
for _, v := range a {
count += v
}
fmt.Println(count)
}
知識點:
1.數組的定義
2.周遊數組
// 找出數組中和為指定值的兩個元素的下标,比如從數組[1, 3, 5, 7, 8]中找出和為8的兩個元素的下标分别為(0,3)和(1,2)。
package main
import "fmt"
func main() {
a := [...]int{1, 3, 5, 7, 8}
for x := 0; x < len(a); x++ {
for y := x + 1; y < len(a)-x; y++ { //設定兩個變量 x = 1 時 y = 2 3 4 5 進行周遊 ……
if a[x]+a[y] == 8 {
fmt.Println(x, y)
}
}
}
}
知識點:
1.數組的定義
2.數組的周遊
// 編寫代碼列印9*9乘法表
// 1*1
// 2*1 2*2
// 3*1 3*2 3*3
package main
import "fmt"
func main() {
for x := 1; x <= 9; x++ {
for y := 1; y <= x; y++ {
fmt.Printf("%d * %d = %d ", y, x, x*y)
}
fmt.Println()
}
}
知識點:
for循環語句的使用
// 請使用内置的sort包對數組var a = [...]int{3, 7, 8, 9, 1}進行排序
// func Ints(a []int)
package main
import (
"fmt"
"sort"
)
func main() {
var a = [...]int{3, 7, 8, 9, 1}
var b = a[:]
sort.Ints(b)
fmt.Println(b)
}
知識點:
sort包的Ints()方法
func Ints(a []int) :進行遞增排序 參數是整形的切片
// 寫一個程式,統計一個字元串中每個單詞出現的次數。比如:”how do you do”中how=1 do=2 you=1。
package main
import (
"fmt"
"strings"
)
func main() {
str := "how do you do"
word := make(map[string]int)
substr := strings.Split(str, " ")
for _, value := range substr {
word[value]++
}
for key, value := range word {
fmt.Printf("%s: %d\n", key, value)
}
}
//知識點:
1.strings包下的Split()方法 将字元串按照指定的字元進行分割
傳回值是一個切片
2.map的定義 和使用方法