Go 语言概述 ( 上 )
2017-04-27 09:21
489 查看
Go 语言概述 (上)
1. Hello World 程序
main.gopackage main func main() { print("Hello World") }
运行结果:
导入标准库 fmt (format 包含有格式化I/O函数)
main.go
package main import "fmt" func main() { fmt.Println("Hello World") }
运行结果:
注: 请删除未使用的导入包,否则编译器会当作错误处理.如下图
原因: Go语言是静态链接的语言,会将运行时, 依赖库直接打包到可执行文件内部.那么编译器就会检查,如果存在没有使用的依赖库,自然会报错.
2. 变量
只用 var 关键字定义变量,支持类型推断,编译器会确保变量总是被初始化为零值.mian.go
package main import "fmt" func main() { var age int var s = "my age is" fmt.Println(s, age, "岁") }
运行结果:
注: 在函数内部还可以省略 var 关键字, 使用
age := 22来定义变量.
在函数外部使用 := 和定义的变量未被使用编译器都会报错. 毕竟是静态链接的语言.
3. 控制语句
Go语言仅有三种流控制语句.if
main.gopackage main import ( "fmt" ) func main() { num := 10 if num > 0 { fmt.Println("正数") } else if num == 0 { fmt.Println("零") }else { fmt.Println("负数") } }
for
mian.gopackage main import ( "fmt" ) func main() { for i := 0; i < 5; i++{ fmt.Println("Hello World ", i) } }
mian.go
package main import ( "fmt" ) func main() { x := 0 for x < 4 { // 相当于 while(x < 4) fmt.Println("x = ", x) x ++ } }
main.go
package main import ( "fmt" ) func main() { x := 0 for { // 相当于 while(true) fmt.Println("x = ", x) x ++ if x > 4 { break } } }
main.go
使用 for … range .. 可以返回索引和元素
package main import ( "fmt" ) func main() { a := []int{11, 22, 33, 43} for i, x := range a { fmt.Print("i = ", i) fmt.Println(", x = ", x) } }
运行结果:
switch
main.gopackage main import ( "fmt" ) func main() { a := 'A' switch a { case 'A': fmt.Println("this is A") case 'B': fmt.Println("this is B") case 'C': fmt.Println("this is B") default: fmt.Println("I don't know") } }
同时switch也可以这样用:
package main import ( "fmt" ) func main() { a := 10 switch { case a > 0: fmt.Println("正数") case a < 0: fmt.Println("负数") default: fmt.Println("0") } }
注意:在一个case中加入关键字fallthrough后,当这个case执行后,会和其他语言一样继续执行下一个case。
相关文章推荐
- Go 语言概述 (下)
- Go语言学习札记——第一章 Go语言概述
- go 语言概述
- java笔记之java语言概述
- Go语言_并发篇
- 奇妙的go语言(面向对象)
- 基于 Web 的 Go 语言 IDE - Wide 1.5.0 发布!
- Go语言中的多核调度
- 9.笔记go语言——方法和接口
- GO语言发送json串数组完整代码
- [Golang学习]Ubuntu搭建Go语言开发环境
- 15.笔记go语言——Web编程概念
- Java语言程序设计--基础篇(第八版)第一章概述
- GO语言数组和切片实例详解
- go语言学习总结1
- GO: 语言并发与学习笔记
- Go语言格式化字符
- 相同问题go语言与php的实现对比
- scheme 语言概述
- Go语言学习笔记(二)十分钟上手