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

大型企业网站设计案例外贸网络营销如何选取关键词

大型企业网站设计案例,外贸网络营销如何选取关键词,设计制作网站收费,一个微信小程序大概多少钱文章目录 一、 格式化输出(Print家族)1. 核心函数2、 格式化占位符(常用) 二、 格式化输入1、Scan家族:标准输入2、SScan家族:字符串输入3、返回值处理 三、基于bufio读取数据 Go语言通过fmt包提供强大的字…

文章目录

  • 一、 格式化输出(Print家族)
    • 1. 核心函数
    • 2、 格式化占位符(常用)
  • 二、 格式化输入
    • 1、Scan家族:标准输入
    • 2、SScan家族:字符串输入
    • 3、返回值处理
  • 三、基于bufio读取数据

Go语言通过fmt包提供强大的字符串格式化功能,支持输出格式化、输入解析及字符串操作。

场景推荐函数格式字符串示例说明
简单空格分隔输入Scan/Scanln-适用于姓名、年龄等简单数据
自定义格式输入Scanf%s:%d解析带分隔符的数据(如KV对)
从字符串解析数据SScanf%d-%s处理日志、配置等字符串数据
读取整行(含空格)bufio.Reader + SScan-先读取整行,再按需解析

一、 格式化输出(Print家族)

1. 核心函数

函数名说明
Print按原样输出值,用空格分隔,不换行
Println输出值并换行,自动添加换行符
Printf按指定格式输出(核心格式化函数)
Sprintf格式化并返回字符串(不输出到控制台)
Fprintf格式化并输出到io.Writer(如文件、网络连接)

 

2、 格式化占位符(常用)

占位符类型说明
%d整数十进制表示(如 %03d 补零至3位)
%s字符串输出字符串(如 %-10s 左对齐,宽度10)
%f浮点数固定小数位(如 %.2f 保留2位小数)
%t布尔值true/false
%v通用值的默认格式(结构体输出字段值,切片输出元素)
%+v通用结构体输出带字段名(如 {Name:Alice Age:25}
%#v通用Go语法表示(如 "string"[]int{1,2,3}
%T类型输出类型(如 int[]string
%%字面量输出 % 符号

 
示例:格式化输出

package mainimport "fmt"func main() {name := "Alice"age := 25score := 95.5// 基础格式化fmt.Printf("姓名:%s,年龄:%d,分数:%.1f\n", name, age, score)// 输出:姓名:Alice,年龄:25,分数:95.5// 宽度与对齐fmt.Printf("|%10s|", name)   // 右对齐,宽度10 → "|     Alice|"fmt.Printf("|%-10s|\n", name) // 左对齐,宽度10 → "|Alice     |"// 结构体格式化type User struct { Name string; Age int }user := User{"Bob", 30}fmt.Printf("%+v\n", user) // 带字段名 → {Name:Bob Age:30}fmt.Printf("%#v\n", user) // Go语法 → main.User{Name:"Bob", Age:30}
}

 

二、 格式化输入

fmt包提供3组输入函数,用于从不同数据源读取数据:

  • Scan家族:从标准输入(os.Stdin)读取
  • SScan家族:从字符串中读取
  • Fscan家族:从io.Reader(如文件、网络流)读取

1、Scan家族:标准输入

函数名说明
Scan按空格/换行符分割输入,换行符视为空格,读取到足够参数后停止
Scanln遇到换行符或EOF时停止,换行符作为终止符(非分隔符)
Scanf按指定格式解析输入(支持自定义分隔符和格式)

示例1:Scan(空格/换行分隔)

package main
import "fmt"func main() {scanExample()
}func scanExample() {var name stringvar age intfmt.Print("请输入姓名和年龄(空格或换行分隔):")// 输入示例:"Tom\n20" 或 "Tom 20"fmt.Scan(&name, &age) // 换行符视为空格,读取两个参数fmt.Printf("姓名:%s,年龄:%d\n", name, age)
}

示例2:Scanln(换行终止)

func scanlnExample() {var name stringvar age intfmt.Print("请输入姓名和年龄(换行分隔):")// 输入示例:"Tom\n20"(换行分隔)fmt.Scanln(&name, &age) // 遇到换行符停止,读取两个参数fmt.Printf("姓名:%s,年龄:%d\n", name, age)
}

示例3:Scanf(自定义格式)

func scanfExample() {var name stringvar age intfmt.Print("请输入姓名:年龄(如 Alice:25):")// 格式字符串 "%s:%d" 匹配 "姓名:年龄" 格式fmt.Scanf("%s:%d", &name, &age) // 分隔符为 ":"fmt.Printf("姓名:%s,年龄:%d\n", name, age)
}

 

2、SScan家族:字符串输入

从字符串中解析数据,用法与Scan家族一致,仅数据源为字符串。

示例:SScanf(从字符串解析)

func sscanfExample() {input := "Bob 30 male"var name stringvar age intvar gender string// 格式字符串 "%s %d %s" 匹配 "姓名 年龄 性别"fmt.Sscanf(input, "%s %d %s", &name, &age, &gender)fmt.Printf("解析结果:姓名=%s,年龄=%d,性别=%s\n", name, age, gender)// 输出:解析结果:姓名=Bob,年龄=30,性别=male
}

3、返回值处理

所有Scan函数返回两个值:

  • n int:成功读取的参数数量
  • err error:错误信息(如类型不匹配、参数不足)

示例:错误处理

func scanErrorHandling() {var age intn, err := fmt.Scan(&age) // 输入非整数(如 "abc")if err != nil {fmt.Printf("读取失败:%v\n", err) // 输出:invalid syntax} else if n < 1 {fmt.Println("未读取到有效数据")} else {fmt.Printf("成功读取年龄:%d\n", age)}
}

 

三、基于bufio读取数据

我们可以从IO流中读取数据再配合Sscan 就完成了基于网络的Scan
这里采用bufio从标准输入读取数据, 真实案例你可以从Socket读取数据 发送过来

func readFullName() {var (name stringage  uint)fmt.Print("请输入你的姓名和年龄, 以空格分隔: ")stdin := bufio.NewReader(os.Stdin)line, _, err := stdin.ReadLine()if err != nil {panic(err)}n, err := fmt.Sscanln(string(line), &name, &age)if err != nil {panic(err)}fmt.Printf("read number of items: %d", n)fmt.Println()fmt.Printf("姓名: %s 年龄: %d", name, age)fmt.Println()/**请输入你的姓名和年龄, 以空格分隔: gaoliang 222read number of items: 2姓名: gaoliang 年龄: 222*/
}

文章转载自:

http://mFYjWjqR.ghqyr.cn
http://qLmyKOPe.ghqyr.cn
http://YMjwfjEf.ghqyr.cn
http://ysajSK5X.ghqyr.cn
http://SNFmE5QH.ghqyr.cn
http://4fEEPuEO.ghqyr.cn
http://nNeCiV52.ghqyr.cn
http://pckhtZ9i.ghqyr.cn
http://pPYi6Mqi.ghqyr.cn
http://jh6a94IO.ghqyr.cn
http://E4fwdDbc.ghqyr.cn
http://p6Tbryiu.ghqyr.cn
http://Sx1YXY5g.ghqyr.cn
http://rmBEscGQ.ghqyr.cn
http://dXPAL12R.ghqyr.cn
http://tLSr7dzz.ghqyr.cn
http://V0fkVa70.ghqyr.cn
http://7KjfJbzA.ghqyr.cn
http://8r1UEMKT.ghqyr.cn
http://fPphCSe4.ghqyr.cn
http://Lo6aAvsv.ghqyr.cn
http://reEjjBWq.ghqyr.cn
http://aaCu7Syu.ghqyr.cn
http://3YNnSb6J.ghqyr.cn
http://DaQEj0qZ.ghqyr.cn
http://g3pvBji9.ghqyr.cn
http://RvukfW0D.ghqyr.cn
http://lwgic0td.ghqyr.cn
http://BoXtzE4K.ghqyr.cn
http://NtFSOt5b.ghqyr.cn
http://www.dtcms.com/wzjs/711340.html

相关文章:

  • 漯河市建设局网站网页不能运行wordpress
  • 网站微信建设方案北京做网站要多少钱
  • 如何做竞价网站数据监控wordpress装到哪里
  • 查询网站后台登陆地址网站建站商城
  • 怎么看网站是哪个系统做的关于加强网站建设的情况说明
  • cdr做的网站效果怎么直接用主流的网站建设软件
  • 深圳设计网站源码外贸型网站方案
  • 什么是分类信息网站营销广东佛山企业
  • 国家重点建设裤网站什么营销软件好用
  • 驾校官方网站 模板深圳彩票网站开发人员
  • 自行车网站模板网站页头图片
  • 仿淘宝网站源码 php西安哪家做网站好
  • 沈阳网站建设设计wordpress 中文摘要
  • 高端网站建设制作西双版纳 网站建设
  • 自己做的网站打开显示很慢硬件开发属于什么行业
  • 做宽屏网站公司网站备案名称
  • 网站转化率低开平网页定制
  • 苏州公司网站建设wordpress站点不被收录
  • 简洁的网站门户网站 建设方案
  • 中山网站备案百度指数批量查询
  • 网站 权限做网站ui去哪儿接私活
  • 温州网站设计只找亿企邦哪家小吃培训网站做的最好
  • 栾城住房和城乡建设局网站百度竞价ocpc
  • 双牌网站建设商品展示网站模板
  • 网站制作 牛商网 岳阳 公司网站内容管理系统cms
  • 网站建设背景 前景分析网络营销方法有几种类型
  • flash网站设计师千锋教育怎么样
  • 在哪个网站可以学做淘宝详情班级网站设计模板首页
  • 银川网站建设哪家不错网上查询个人房产信息
  • 网站开发方向和移动开发方向那个好wordpress logo 字体