当前位置: 首页 > news >正文

网站怎么查询注册商如何做设计网站页面设计

网站怎么查询注册商,如何做设计网站页面设计,深圳建站企业,网站规划设计方案最近刷题的时候#xff0c;发现大家都喜欢用 bufio.Scanner 或 bufio.Reader 来从标准输入获取数据#xff0c;遂来了解一下它们的特性。 文中为了调试方便#xff0c;使用的 strings.NewReader(input string) 暂时替换 os.Stdin#xff0c;实际从标准输入获取…最近刷题的时候发现大家都喜欢用 bufio.Scanner 或 bufio.Reader 来从标准输入获取数据遂来了解一下它们的特性。 文中为了调试方便使用的 strings.NewReader(input string) 暂时替换 os.Stdin实际从标准输入获取时可直接使用 os.Stdin 进行替换。 bufio.Scanner 简单来讲bufio.Scanner 是 Go 中一个用于逐个读取输入缓冲区的扫描器通常与 bufio.Reader 一起使用bufio.Reader 用于从输入中读取数据而 bufio.Scanner 则用于逐个读取输入缓冲区的内容。 bufio.Scanner 可以将输入数据分解为逻辑上的行并返回。Scanner 通过定义一个 Split 函数来将输入分解为行默认是使用的 bufio.ScanLines也即默认一次 Scan() 操作读取一行数据。 下面是 bufio.Scanner 提供的一些主要方法: func (s *Scanner) Scan() bool用于读取输入缓冲区中的下一个数据块并将其保存在内部的缓冲区中。如果读取成功则返回 true如果已经读取了所有数据或者发生了错误则返回 false。func (s *Scanner) Text() string用于获取内部缓冲区中的文本内容通常与 Scan() 方法一起使用用于获取读取的数据。func (s *Scanner) Bytes() []byte用于获取内部缓冲区中的字节内容通常与 Scan() 方法一起使用用于获取读取的数据。func (s *Scanner) Err() error用于获取在读取输入时发生的错误信息如果读取过程中没有发生错误则返回 nil否则返回一个非 nil 的错误对象。func (s *Scanner) Buffer(buf []byte, max int) 用于自定义输入缓冲区大小接受一个 []byte 类型的参数用于指定缓冲区的大小。func (s *Scanner) Split(split SplitFunc)用于指定一个分割函数将输入分割成多个数据块接受一个 func([]byte) bool 类型的参数该函数在每次读取输入时被调用用于判断是否需要将当前数据块分割成多个小块。通常用于处理非常大的数据块以避免内存溢出等问题。 bufio.ScanLines 这个也是用作默认的分隔函数默认每次 Scan() 读取一行。 package mainimport (bufiofmtstrings )func main() {// input : os.Stdininput : strings.NewReader(hello world\nsecond line\nend line)scanner : bufio.NewScanner(input)scanner.Split(bufio.ScanLines) // 如果保持默认可不写这一行for scanner.Scan() {fmt.Printf(%#v\n, scanner.Text())} }hello world second line end line bufio.ScanWords 简单理解就是每次 Scan() 按照单词进行扫描读取。 package mainimport (bufiofmtstrings )func main() {// input : os.Stdininput : strings.NewReader(hello world\nsecond line\nend line)scanner : bufio.NewScanner(input)scanner.Split(bufio.ScanWords)for scanner.Scan() {fmt.Printf(%#v\n, scanner.Text())} }hello world second line end line bufio.ScanRunes 简单理解就是每次 Scan() 按照一个字符进行扫描读取包括汉字等多字节字符。 package mainimport (bufiofmtstrings )func main() {// input : os.Stdininput : strings.NewReader(hello好world)scanner : bufio.NewScanner(input)scanner.Split(bufio.ScanRunes)for scanner.Scan() {fmt.Printf(%#v\n, scanner.Text())} }h e l l o 好 w o r l d bufio.ScanBytes 简单理解就是每次 Scan() 按照一个字节进行扫描读取特殊字符如汉字等多字节字符会被分成多次才能读取完成。 package mainimport (bufiofmtstrings )func main() {// input : os.Stdininput : strings.NewReader(hello好world)scanner : bufio.NewScanner(input)scanner.Split(bufio.ScanBytes)for scanner.Scan() {fmt.Printf(%#v\n, scanner.Text())} }h e l l o \xe5 \xa5 \xbd w o r l d 自定义分隔函数 我们也可以自定义分隔函数比如说使用逗号进行分隔。 package mainimport (bufiofmtstrings )func main() {// input : os.Stdininput : strings.NewReader(hello,world)scanner : bufio.NewScanner(input)scanner.Split(func(data []byte, atEOF bool) (advance int, token []byte, err error) {// 分隔符为逗号for i, d : range data {if d , {return i 1, data[:i], nil}}if atEOF len(data) 0 {return len(data), data, nil}return 0, nil, nil})for scanner.Scan() {fmt.Printf(%#v\n, scanner.Text())} }hello world bufio.Reader reader.ReadLine() 按行读取但是记得读取的行不包括换行符本身哟。 package mainimport (bufiofmtstrings )func main() {// read : os.Stdinread : strings.NewReader(hello world\nsecond line\nend line)reader : bufio.NewReader(read)for {s, _, _ : reader.ReadLine()if s nil {break}fmt.Printf(%#v\n, string(s))} } reader.ReadString() ReadString() 需要自己指定读取的分隔符比如 \n 且读取的结果会包含分隔符本身所以一般按照 \n 读取以后需要使用 strings.TrimSpace()去掉字符串两端的空白。 package mainimport (bufiofmtstrings )func main() {// read : os.Stdinread : strings.NewReader(hello world\n\rsecond line\nend line)reader : bufio.NewReader(read)for {s, _ : reader.ReadString(\n)if s {break}fmt.Printf(%#v\n, s)// fmt.Printf(%#v\n, strings.TrimSpace(s))} }hello world\n \rsecond line\n end line reader.ReadRune() package mainimport (bufiofmtstrings )func main() {// read : os.Stdinread : strings.NewReader(hello好world)reader : bufio.NewReader(read)for {s, _, _ : reader.ReadRune()if s 0 {break}fmt.Printf(%#v\n, string(s))} }h e l l o 好 w o r l d reader.ReadByte() package mainimport (bufiofmtstrings )func main() {// read : os.Stdinread : strings.NewReader(hello好world)reader : bufio.NewReader(read)for {s, _ : reader.ReadByte()if s 0 {break}fmt.Printf(%#v\n, s)} }0x68 0x65 0x6c 0x6c 0x6f 0xe5 0xa5 0xbd 0x77 0x6f 0x72 0x6c 0x64 fmt.Scan  fmt.Scan 读取由空白符分隔的值保存到传递给参数换行符视为空白符。 package mainimport (fmt )func main() {var (name stringage intmarried bool)fmt.Scan(name, age, married) // 读取由空白符分隔的值保存到传递给本函数的参数中换行符视为空白符。fmt.Printf(扫描结果 name:%s age:%d married:%t \n, name, age, married)// 输入Looking 29 true// 输出扫描结果 name:Looking age:29 married:true } fmt.Scanf 根据 format 参数指定的格式去读取值保存传递给参数。 package mainimport (fmt )func main() {var (name stringage intmarried bool)fmt.Scanf(1:%s 2:%d 3:%t, name, age, married) // 根据format参数指定的格式去读取值保存到传递给本函数的参数中。fmt.Printf(扫描结果 name:%s age:%d married:%t \n, name, age, married)// 输入1:Looking 2:29 3:true// 输出扫描结果 name:Looking age:29 married:true } fmt.Scanln Scanln 类似 Scan它在遇到换行时才停止扫描。 package mainimport (fmt )func main() {var (name stringage intmarried bool)fmt.Scanln(name, age, married) // Scanln类似Scan它在遇到换行时才停止扫描。fmt.Printf(扫描结果 name:%s age:%d married:%t \n, name, age, married)// 输入Looking 29 true// 输出扫描结果 name:Looking age:29 married:true }
http://www.zqtcl.cn/news/953107/

相关文章:

  • 如何推广网站链接做旅游网站的目的
  • 网站规划与设计课程设计中企动力网站建设 长春
  • 最新网站建设哪家公司好wordpress 顶部图片
  • 有什么网站可以做一起作业公司简介优秀文案
  • 太仓住房和城乡建设局网站seo网页推广
  • 网络公司 网站源码网页源代码修改了影响别人吗
  • 网站后台是怎样制作的app开发公司排行榜做软件的公司
  • 有专门做网站的公司吗西安分类信息seo公司
  • 重庆璧山网站制作公司哪家专业商城网站建设 优帮云
  • 双语网站建设费用安徽省芜湖建设定额网站
  • 常州市城乡建设局网站wordpress 阿里云cdn
  • 福州制作网站设计哪里比较好百度网址大全官方网站
  • 一般做美食网站的产品需求我想做个网站
  • 成品网站制作公司应用公园是免费的吗
  • 做毕业网站的流程网站建设价格一览表
  • 企业服务网站开发做网站怎样建立服务器
  • 电子商务他们的代表网站360免费wifi官网
  • 网站后端开发软件cc域名做门户网站
  • 保定设计网站超云建站
  • 建筑工程网官网入口优化网站关键词排名软件
  • 企业网站功能怎么设计wordpress文章图片轮播
  • 网站后台登陆验证码不对阳江房产网楼市数据
  • 营销型网站建设遨龙仙居住房和城乡建设规划局网站
  • 中国做视频网站有哪些淘宝做详情页代码网站
  • 网站开发一般多钱在网站设计公司上班好吗
  • 餐饮连锁企业网站建设方案北京软件研发公司
  • 外国网站架构新闻稿
  • 营销网站建设企划案例友情链接怎么添加
  • seo网站搜索优化目前好的推广平台
  • 快速搭建网站页面黄页88网免费发布信息