入门:基础语法(一)变量的定义使用

ace_kylin · · 980 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

#### 一、简单进入一个hello world ``` package main import "fmt" func main() { fmt.Println("hello world!") } ``` 1.package main是将本文件打包成main包,一个程序**有且只有一个main包**; 2.import是该文件下所需的“依赖的包”,这里我们所需以来的包是fmt,所需“依赖”的函数是Println()。golang中都是通过包.函数来进行函数调用的; 3.一个程**有且只有一个main()函数** #### 二、变量的定义 ######(一)使用var关键字进行定义 ``` func variableTypeDeduction() { var a, b = 3, 4 var c, d, e = 1, "hello", true var aa int = 111 fmt.Println(a, b, c, d, e, aa) fmt.Printf("a Type is %T\n", a) fmt.Printf("b Type is %T\n", b) fmt.Printf("c Type is %T\n", c) fmt.Printf("d Type is %T\n", d) fmt.Printf("e Type is %T\n", e) } ``` 我们可以使用var aa int = 111的类似写法,也可以使用var a,b = 3,4 ######(二)使用:=定义并初始化变量 ``` func variableShortDeduction() { a, b := 1, "六六六" fmt.Println(a) fmt.Println(b) } ``` **总结:变量定义一般使用:=的方式定义,简单易懂!当我们在函数体外定义的变量(包内部变量,不是全局变量)的时候只能用var关键字定义** #### 三、变量的初始化 ``` func variableZreoValue() { var a int var b string var bo bool fmt.Printf("a-%d b-%q bo-%t\n", a, b, bo) } ``` 可以看到,int的初始化的值是0,string的初始化的值是空串(""),bool的初始化的值是false #### 四、拓展fmt.Printf()函数 我们格式化的输出可以用fmt.Printf()函数进行,其函数定义为: ``` func Printf(format string, a ...interface{}) (n int, err error) ``` 当然,这里有一个很重要的地方,就是我们的format string参数,我们必须使用系统提供的,以下是参数列表 (一)通用: %v 值的默认格式表示 %+v 类似%v,但输出结构体时会添加字段名 %#v 值的Go语法表示 %T 值的类型的Go语法表示 %% 百分号 (二)布尔值: %t 单词true或false (三)整数: %b 表示为二进制 %c 该值对应的unicode码值 %d 表示为十进制 %o 表示为八进制 %q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示 %x 表示为十六进制,使用a-f %X 表示为十六进制,使用A-F %U 表示为Unicode格式:U+1234,等价于"U+%04X" (四)字符串和[]byte: %s 直接输出字符串或者[]byte %q 该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示 %x 每个字节用两字符十六进制数表示(使用a-f) %X 每个字节用两字符十六进制数表示(使用A-F) #### 变量的作用域 1.在函数内部声明的变量叫做局部变量,生命周期仅限于函数内部。 2.在函数外部声明的变量叫做全局变量,生命周期作用于整个包,如果是大写的,则作用于整个程序。 #### string的两种表示: 1.双引号"":可以转义(”hello world\n“输出hello world换行) 2.反引号``(键盘中Shift+~):原样输出(`hello world\n`输出hello world\n) **和byte表示的符号不同**

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

980 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传