golang 中的信道练习 填充和遍历 备忘

1.基础文件读取
2.切片使用 ,添加
3.随机数据使用和time时间方法使用
4.信道的使用基本知识

//channel 练习

package main
import(
	"fmt"
	"os"
	"bufio"
	"math/rand"
	"time"
	"strings"
)

type Person struct{
	Name string	
	Age int 
	Address string 
}

var  randStringPath string	 = "e:/randInfo.txt"

func main(){
	//fmt.Println(CreatePerson(10))
	peopleChan := make(chan Person , 10)
	for _, val := range CreatePerson(10) {
		peopleChan <- val
	}
	fmt.Println("填充完成:",peopleChan)
	// 信道填充完成必须要关闭  要不遍历就会报错
	close(peopleChan)
	fmt.Println("----------开始遍历信道---------")
	for val := range peopleChan {
		fmt.Println(val)
	}
}


func CreatePerson( nu int) []Person   {

	PersonSplice := make([]Person,nu)
	//1. 读取文件信息
	personInfo := make([]string, 0)
   fileP,err :=	os.OpenFile(randStringPath,os. O_RDONLY,0666)
   if err != nil {
	   return PersonSplice
   }
   defer fileP.Close()
   reader := bufio.NewReader(fileP)
   var rdStr string
   for  {
		rdStr,err = reader.ReadString('\n')
		if err != nil {
			break
		}
		personInfo =append(personInfo,rdStr)
   }
   //2. 随机种子设置和数据填充
   rand.Seed(time.Now().UnixNano())
   for idx := 0; idx < len(PersonSplice); idx++ {
	   randId := rand.Intn(len(personInfo))
	   oneInfoStr := personInfo[randId]
		oneInfoArr := strings.Split(oneInfoStr,":")
		if len(oneInfoArr)<2 {
			continue
		}
		p := Person{
			Name:oneInfoArr[0],
			Age:randId,
			Address:oneInfoArr[1],
		}
		PersonSplice[idx] = p
   }
	return PersonSplice
}

读取文件内容:【 e:/randInfo.txt"】

萧XX: 台北市民生东路三段12814F
陶是否莹: 台北市罗斯福二段1025F 
ZIP爽肤水:    台北市南港路三段4810F 
范分机玮: 台北市忠孝东路一段1124F 
WE发顺丰W: 台北市忠孝东路六段4654F 
发送力宏: 台北市光复北路11356F 
戴爽肤水: 台北市光复南路6510F 
客户李彩昆仑: 香港市尖沙俎广东道1008楼 
陆可好看毅:北京朝阳区北四环中路6号华亭家园D座(100012) 
周快迅:    北京海淀区北三环中路77号(100080) 
g非俐: 北京丽京花园别墅  
与顺义: 机场路杨林大道出口  
那io英结婚后: 刘蓓、零点乐队王笑冬--丽斯花园  
顺归结于义:区天竺镇天竺村  
王经理瀚宇:嘉林花园  
朝太阳突然阳:将台赵家村  
张放入国认同:紫玉山庄朝阳区紫玉东路1号  
陈oi道明、宋豆腐干豆腐祖英:冠城园马甸桥西北角  
朴klp、刘交流交流烨:炫特区朝阳区红领巾公园东面十里堡1号  
孙规拉卡拉天:世纪宝鼎公寓朝阳区亚运村东2公里  
梁连接辉:东方银座 东城区东直门桥东南角  
曹 还款卡:中国第一商城  朝阳区朝阳门外小庄6号,京广中心东500米  
周客户依然有:星城国际中心 位于朝阳区酒仙桥路大山子环岛东南侧  
人员让他冰冰:风景线家园朝阳区嘉琳路
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

望天hous

你的鼓励是我最大动力~谢谢啦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值