【韩顺平Go核心编程】练习题(一)


开发平台

开发工具:VSCode
Go版本:1.21.7 Winsows 64位


一、Hello world

代码:

package main //一个go文件必须属于一个包
import "fmt" //引入一个包,fmt包中提供格式化、输出、输入的函数
func main(){
	//输出一句话
	fmt.Println("Hello world!")
}

运行结果:
Alt


二、转义字符

代码:

package main
import "fmt"
func main(){
	//转义字符的使用
	// \t
	fmt.Println("tom\tjack")
	// \n
	fmt.Println("hello\nworld")
	// \\
	fmt.Println("C\\Users\\Administrator\\Desktop\\Go语言\\资料")
	// \"
	fmt.Println("tom说\"hello world!\"")
	// \r 回车,从当前行的最前面开始输出,覆盖掉以前的内容
	fmt.Println("天龙八部雪山飞狐\r张飞")
}

运行结果:
在这里插入图片描述


三、一句输出表格

要求:请使用依据输出语句,达到输入如下图形的效果
在这里插入图片描述

代码:

//同时返回和、差
package main
import "fmt"
func main(){
	fmt.Println("姓名\t年龄\t籍贯\t住址\t\njoin\t12\t河北\t北京\t")
}

运行结果:
在这里插入图片描述


四、变量使用方式

1. 局部变量

package main
import "fmt"
func main(){
	// golang的变量使用方式
	//第一种:指定变量类型,声明后若不赋值,使用默认值
	//整型的默认值是0,浮点数默认值是0,字符串默认"",布尔类型默认false
	var i int
	fmt.Println("i=",i)
	//第二种:根据值自行判定变量类型(类型推导)
	var num = 10.11	
	fmt.Println("num=",num)
	//第三种:省略var,注意 := 左侧的变量不应该是已经声明过的,否则会导致编译错误
	//下面的方式等价 var name string   name = "tom"
	name := "tom"
	fmt.Println("name=",name)
	
	//多变量声明
	var n1, n2, n3 int
	fmt.Println("n1=",n1,"n2=",n2,"n3=",n3)
	
	//多变量声明方式2
	var n4,name,n5 = 100, "tom", 888
	fmt.Println("n4=",n4,"name=",name,"n5=",n5)	
}

2. 全局变量

package main
import "fmt"

//定义全局变量
var n1 = 100
var n2 = 200
var name = "jack"
//一次性声明全局变量方式
var{
	n3 = 300
	n4 = 400
	name2 = "mary"
}
func main(){
	fmt.Println("n1=",n1,"n2=",n2,"name=",name)	
	fmt.Println("n3=",n3,"n4=",n4,"name2=",name2)	
}

3. 变量使用注意事项

package main
import "fmt"

func main(){
	//该区域的数据值可以在同一类型范围内不断变化
	var i int = 10
	i = 30
	i = 50
	fmt.Println("i=",i)	
}

五、基本数据转字符串

1. fmt.Sprintf方法

package main 
import "fmt"
func main(){
	var num1 int = 99
	var num2 float64 = 23.456
	var b bool = true
	var myChar = byte = 'h'
	var str string //空的string
	
	str = fmt.Sprintf("%d",num1)
	fmt.Printf("str type %T str=%q\n",str,str)
	
	str = fmt.Sprintf("%f",num2)
	fmt.Printf("str type %T str=%q\n",str,str)
	
	str = fmt.Sprintf("%t",b)
	fmt.Printf("str type %T str=%q\n",str,str)
	
	str = fmt.Sprintf("%c",myChar)
	fmt.Printf("str type %T str=%q\n",str,str)
}

2. 使用strconv包中的函数

package main 
import (
	"fmt"
	"strconv"
	)
func main(){
	var num1 int = 99
	var num2 float64 = 23.456
	var b bool = true
	var str string //空的string
	
	str = strconv.FormatInt(int64(num1),10)
	fmt.Printf("str type %T str=%q\n",str,str)
	
	//说明:'f' 格式 10:表示小数位保留10位 64:表示这个小数是float64
	str = strconv.FormatFloat(num2,'f',10,64)
	fmt.Printf("str type %T str=%q\n",str,str)
	
	str = strconv.FormatBool(b)
	fmt.Printf("str type %T str=%q\n",str,str)
}

3. 使用Itoa函数

package main 
import (
	"fmt"
	"strconv"
	)
func main(){
	var num1 int = 4567
	var num2 int64 = 89
	var str string //空的string
	
	str = strconv.Itoa(num1)
	fmt.Printf("str type %T str=%q\n",str,str)
	
	//Itoa只能将int类型转成string,int64类型需要先转成int
	str = strconv.Itoa(int(num2))
	fmt.Printf("str type %T str=%q\n",str,str)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值