package main
import (
"container/list"
"fmt"
"github.com/spf13/cast"
"strings"
)
// For1 第一种:对切片进行遍历
func For1() {
fmt.Println("对切片进行遍历")
sub := "10.1.1.18"
s := strings.Split(sub, ".") // 对IP地址进行切片处理
for index, value := range s {
sprintf := fmt.Sprintf("第[ %d ]个元素值: %s", index, value) // 格式化字符串
fmt.Println(sprintf) // 输出格式化后的字符串内容
}
}
// For2 第二种: 设置范围进行i++
func For2() {
fmt.Println("范围循环")
sub := "10.1.1."
for i := 1; i <= 3; i++ {
ip := sub + cast.ToString(i)
fmt.Println(ip)
}
// 另一种写法(其实只是把初始值从for语句中提取到前面,++放到里面而已)
n := 1
for n <= 3 {
fmt.Println(n)
n++
}
}
// For3 第三种:对列表进行遍历
func For3() {
var ls list.List // 定义一个列表变量
ls.PushBack("刘德华")
ls.PushBack("张学友")
for i := ls.Front(); i != nil; i = i.Next() {
fmt.Println(i.Value) // 打印列表的值
}
}
func main() {
For1()
For2()
For3()
}
效果如下
对切片进行遍历
第[ 0 ]个元素值: 10
第[ 1 ]个元素值: 1
第[ 2 ]个元素值: 1
第[ 3 ]个元素值: 18
范围循环
10.1.1.1
10.1.1.2
10.1.1.3
1
2
3
刘德华
张学友