导入包----->也就是文件所在位置
调用功能
==============================================================================
不确定高版本会支持
-
print 不换行
-
println
- fmt.Printf 不换行,可以转义特殊字符
需要格式化输出并带输出格式,可以打印出字符串,和变量
Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整形变量和整形
var a int=1
fmt.Printf("%d,%s",a,"abc")
- fmt.Println
println会根据你输入格式原样输出,
fmt.Println("hello","world","nice")
结果:中间有空格
hello woeld nice
也就是说,当需要格式化输出信息时一般选择 Printf,其他时候用 Println 就可以了
==================================================================================
fmt.Scan
fmt.Scanln
fmt.Scanf
-
用指针,也就是会用到内存地址
-
&为指针,指向的地址 -
类型要匹配,所有类型都可以
-
switch可以用于判断
interface变量实际存储的变量类型。
var name string
fmt.Scan(&name)
特别说明:fmt.Scan 要求输入两个值,必须输入两个,否则他会一直等待。
var name string
var age int
fmt.Println("请输入用户名:")
// 当使用Scan时,会提示用户输入
// 用户输入完成之后,会得到两个值:count,用户输入了几个值;err,用输入错误则是错误信息
_, err := fmt.Scan(&name, &age)
if err == nil {
fmt.Println(name, age)
} else {
fmt.Println("用户输入数据错误", err)
}
特别说明:fmt.Scanln 等待回车。
var name string
var age int
fmt.Print("请输入用户名:")
// 当使用Scanln时,会提示用户输入
// 用户输入完成之后,会得到两个值:count,用户输入了几个值;err,用输入错误则是错误信息
count, err := fmt.Scanln(&name, &age)
fmt.Println(count, err)
fmt.Println(name, age)
fmt.Scanf支持特殊字符
var name string
var age int
fmt.Print("请输入用户名:")
_, _ = fmt.Scanf("我叫%s 今年%d 岁", &name, &age)
fmt.Println(name, age)
当使用ftm.Scan等功能时,如果输入一整行且期间存在空格,则无法获取整行。
想要读取一行数据,这个功能可以基于标准输入来进行实现。
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
// line,从stdin中读取一行的数据(字节集合 -> 转化成为字符串)
// reader默认一次能4096个字节(4096/3)
// 1. 一次性读完,isPrefix=false
// 2. 先读一部分,isPrefix=true,再去读取isPrefix=false
line, _, _ := reader.ReadLine()
data := string(line)
fmt.Println(data)
}
=========================================================================
// 只能注释一行
/*
可以注释多行
*/
===============================================================================
=============================================================================
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新