package main;

import (
"fmt"
); func main() {
isRun := true; //条件判断
if isRun {
fmt.Printf("run\n");
} else {
fmt.Printf("not run\n");
} //多条件判断
a := 15;
if a > 0 && a < 10 {
fmt.Printf("0-10\n");
} else if a > 10 && a < 20 {
fmt.Printf("10-20\n");
} else if a > 20 {
fmt.Printf(">20\n");
} //goto跳转当前函数内定义的标签
b := 10;
TEST:
if b != 0 {
fmt.Println(b);
b--;
goto TEST;
} //for循环
sum := 0;
for i := 0; i < 100; i++ {
sum += i;
}
fmt.Println(sum); //for配合range读取map和slice中数据
var s = []int{1, 2, 3, 4, 5};
for k, v := range s {
fmt.Println(k, v);
} m := make(map[string]string);
m["name"] = "xiaoxu";
m["age"] = "27";
m["sex"] = "男";
for k, v := range m {
fmt.Println(k, v);
} //switch分支判断
//Go里面switch默认每个case最后带有break
//可以使用fallthrough强制执行后面的case代码
var code int = 2;
switch code {
case 1 : fmt.Println(1);
case 2 : fmt.Println(2);
case 3 : fmt.Println(3);
case 4 : fmt.Println(4);
default: fmt.Println(0);
} //调用函数
fmt.Println(sum2(10, 20));
//调用返回多个值的函数
su, minus := sumAndMinus(10, 20);
fmt.Println(su, minus);
//调用变参函数
prints(5, 4, 3, 2, 1); //调用传值函数
num := 10;
add1(num);
fmt.Println(num);
//调用传指针函数,这里num的值也跟着改变了
add2(&num);
fmt.Println(num); //调用defer
testDefer();
} //声明一个函数,返回类型int
func sum2(num1 int, num2 int) int {
return num1 + num2;
} //函数返回多个值
func sumAndMinus(num1 int, num2 int) (int, int) {
return num1 + num2, num1 - num2;
} //变参函数
func prints(arg ...int) {
//arg是一个slice
for _, v := range arg {
fmt.Println(v);
}
} //传值函数
func add1(n int) int {
n++;
return n;
} //传指针
func add2(n *int) int {
(*n)++;
return (*n);
} //defer延迟语句,当函数执行到最后时,这些defer语句会按照逆序执行,最后该函数返回。
func testDefer() {
for i := 0; i < 5; i++ {
defer fmt.Print(i);
}
}

  

最新文章

  1. jquety
  2. TomTom (16Q3)数据协议基础
  3. Android深度探索--HAL与驱动开发----第二章读书笔记
  4. android学习——error opening trace file: No such file or directory (2)
  5. numpy库的常用知识
  6. MATLAB-ginput函数问题
  7. Uva_11427 Expect the Expected
  8. qt二维码示例
  9. [转]轻量级 Java Web 框架架构设计
  10. Web API Test Client 1.2.0
  11. 表单校验demo
  12. OpenWRT 添加应用程序开机启动方法
  13. mongodb 定时备份
  14. python爬虫入门(六) Scrapy框架之原理介绍
  15. python 断言大全
  16. Linux下部署URL重写
  17. spoj 7258 SUBLEX(求第k大字串
  18. FileStream实现多线程断点续传(已封装)
  19. 【c语言】模拟实现库函数的atof函数
  20. 【转】使用create_project.py创建cocos2d项目时出错

热门文章

  1. IP地址的含义
  2. python玩丢手绢问题,出局的顺序
  3. 创建一个Maven Web应用程序
  4. vb的VSFlexGrid控件
  5. puppet自动化运维
  6. macbook pro。已经连接上wifi,但是,不能上网的问题
  7. VMwear安装Centos7超详细过程
  8. JS拖拽元素原理及实现代码
  9. 云笔记项目-测试时无法连接MySQL Server
  10. 关于Android file.createNewFile() 失败的问题