go语言day03

目录

[一、 go语言的数据类型:](#一、 go语言的数据类型:)

二、声明赋值的简写形式: ":="

1)重复使用的编译错误

[2)在全局变量中使用 := 会报编译错误](#2)在全局变量中使用 := 会报编译错误)

三、变量规则:

0)变量的命名规则:

1)创建的局部变量声明但不使用,会报编译错误

2)变量的作用域

四:fmt包下的公开方法:

[1) 输出方法:Print](#1) 输出方法:Print)

2)输入方法:Scan

[四点五)fmt包下的Scanf()方法 无法解决的问题:](#四点五)fmt包下的Scanf()方法 无法解决的问题:)

使用标准输入os.Stdin:


一、 go语言的数据类型:

二、声明赋值的简写形式: ":="

var x = 10; ======> x := 10

var x int =10; ======> x := 10

var y string = "abc"; ======> y := "abc"

var y = "abc"; ======> y := "abc"

注意点:

1)重复使用的编译错误

var关键字表示变量的声明,使用:=同样代表了变量的声明。

同时使用两者会出现编译错误。

类比于java就像是 声明了一个变量,没有引用该变量,而是再次声明该变量。

2)在全局变量中使用 := 会报编译错误

三、变量规则:

0)变量的命名规则:

1)创建的局部变量声明但不使用,会报编译错误

2)变量的作用域

可以定义多个相同名称的局部变量,调用局部变量时采用就近原则。

Go 复制代码
package main

import "fmt"

var number = 99

func main() {
    number := 66
    if true {
        number := 33
        fmt.Println(number) // 输出: 33
    }
    fmt.Println(number) // 输出: 66
}

四:fmt包下的公开方法:

1) 输出方法:Print

fmt.Print()

fmt.Println() 换行输出

fmt.Printf("a%s","bcd") 使用占位符%s,回填字符串为abcd

2)输入方法:Scan

fmt.Scan(&name,&nick)

输入两个值,并赋值给相应参数name,回车会一直等待输入两个数为止

fmt.Scanln(&name,&nick)

输入两个值,并赋值给相应参数name,回车直接运行

fmt.Scanf("我的名字叫 %s 哈哈哈",&name)

输入一个值,并赋值给相应参数name,%s为实际赋值给&name的值

建议使用此方法时在要截取的值前后加上空格,否则有可能出现截取到%s哈哈哈的情况。

四点五)fmt包下的Scanf()方法 无法解决的问题:

输出不会检索到空格后面的内容:


使用标准输入os.Stdin:

Go 复制代码
reader := bufio.NewReader(os.Stdin)
line,prefix,err := reader.ReadLine()
data := string(line)
fmt.Println(data,prefix,err)
相关推荐
weixin_4407841119 分钟前
【HandlerThread实现原理】
android·java·开发语言
天空'之城20 分钟前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
有梦不弃29 分钟前
模块化单体架构设计方案:DDD + 六边形架构落地实践
后端·架构
XR12345678832 分钟前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
傻啦嘿哟1 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
現実君2 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
mubei-1232 小时前
SpringDAO的用法
java·开发语言·数据库
格林威4 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
江南十四行5 小时前
Spring框架核心(上)——IoC控制反转与DI依赖注入详解
java·后端·spring
IT_陈寒5 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端