//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的定义 和使用方法