首页 > 其他分享 >go基础-6.for循环

go基础-6.for循环

时间:2024-09-24 11:03:17浏览次数:9  
标签:package fmt 基础 循环 func go import main

任何编程语言,都会有for循环,它的一般写法是

for 初始化;条件;操作{
}

例如求1+2+...+100的和

package main

import "fmt"

func main() {

  var sum = 0
  for i := 0; i <= 100; i++ {
    sum += i
  }
  fmt.Println(sum)
}

for循环的五种变体

传统for循环

如上

死循环

每隔1秒打印当前的时间

package main

import (
  "fmt"
  "time"
)

func main() {

  for {
    time.Sleep(1 * time.Second)
    fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 年月日时分秒的固定格式
  }
}

while模式

由于golang没有while循环,如果需要,则是由for循环稍微变化得来

package main

import "fmt"

func main() {

  i := 0
  sum := 0
  for i <= 100 {
    sum += i
    i++
  }
  fmt.Println(sum)
}

do-while模式

do-while模式就是先执行一次循环体,再判断

package main

import "fmt"

func main() {

  i := 0
  sum := 0
  for {
    sum += i
    i++
    if i == 101 {
      break
    }
  }
  fmt.Println(sum)
}

遍历切片,map

遍历切片

第一个参数是索引,第二个参数是

package main

import "fmt"

func main() {

  s := []string{"枫枫", "知道"}
  for index, s2 := range s {
    fmt.Println(index, s2)
  }
}

遍历map

第一个参数就是key,第二个就是value

package main

import "fmt"

func main() {

  s := map[string]int{
    "age":   24,
    "price": 1000,
  }
  for key, val := range s {
    fmt.Println(key, val)
  }
}

break,continue

break用于跳出当前循环

continue用于跳过本轮循环

例如打印九九乘法表

package main

import "fmt"

func main() {

  for i := 1; i <= 9; i++ {
    for j := 1; j <= i; j++ {
      fmt.Printf("%d * %d = %d\t", i, j, i*j)
    }
    fmt.Println()
  }
}

除了这样写,还能这样写

package main

import "fmt"

func main() {

  for i := 1; i <= 9; i++ {
    for j := 1; j <= 9; j++ {
      if j > i {
        // 去掉 列比行大的数据
        continue
      }
      fmt.Printf("%d * %d = %d\t", i, j, i*j)
    }
    fmt.Println()
  }
}

标签:package,fmt,基础,循环,func,go,import,main
From: https://www.cnblogs.com/fengfengzhidao/p/18428721

相关文章

  • go基础-8.init函数和defer函数
    init函数init()函数是一个特殊的函数,存在以下特性:不能被其他函数调用,而是在main函数执行之前,自动被调用init函数不能作为参数传入不能有传入参数和返回值一个go文件可以有多个init函数,谁在前面谁就先执行packagemainimport"fmt"funcinit(){fmt.Println("init1"......
  • go基础-11.接口
    接口是一组仅包含方法名、参数、返回值的未具体实现的方法的集合packagemainimport"fmt"//Animal定义一个animal的接口,它有唱,跳,rap的方法typeAnimalinterface{sing()jump()rap()}//Chicken需要全部实现这些接口typeChickenstruct{Namestring}......
  • 万象更新 Html5 - vue.js: vue 模板语法基础(MVVM, 插值, 指令等)
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-vue.js:vue模板语法基础(MVVM,插值,指令等)示例如下:vue\basic.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>vue模板语法基础......
  • go基础-10.自定义数据类型
    在Go语言中,自定义类型指的是使用type关键字定义的新类型,它可以是基本类型的别名,也可以是结构体、函数等组合而成的新类型。自定义类型可以帮助我们更好地抽象和封装数据,让代码更加易读、易懂、易维护自定义类型结构体就是自定义类型中的一种除此之外我们使用自定义类型,还可......
  • 月薪30k起,AI产品经理门槛揭秘:零基础转行真的可能吗?
    01什么是AI产品经理AI产品经理是对AI技术应用和功能落地负责,并为公司带来商业价值的一群人,主要集中在计算机视觉、语音、策略。cv:计算机视觉的AI产品,主要负责一些手势、肢体和其他部分检测的相关产品岗nlp:语音的AI产品,涉及nlp(自然语言处理)、asr(语音识别)、tts(语音合成)的......
  • 传奇微端黑屏不更新地图?传奇微端架设教程——GOM引擎
    登录器和网站配置好后,我们进入游戏后会发现是黑屏的,更新不了地图和NPC这些,因为还没有做微端,会黑屏也是正常的。有些老G做了微端但是还是黑屏,就可能是你的微端架设出现了问题,可以参考以下教程。gom引擎的版本在版本文件夹里一般都放着一份微端服务器的压缩包,如果是版本文件夹......
  • 【开题报告】基于django+vue宿舍管理系统(论文+程序)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高校规模的不断扩大和学生人数的持续增长,宿舍管理成为了高校日常管理中的一项重要且复杂的任务。传统的宿舍管理模式往往依赖于人工记......
  • 万象更新 Html5 - css: selector 选择器: 基础,通配符选择器,元素选择器,id 选择器,类选择
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-css:selector选择器:基础,通配符选择器,元素选择器,id选择器,类选择器示例如下:css\src\selector\demo1.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • 万象更新 Html5 - css: float 布局: 基础
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-css:float布局:基础示例如下:css\src\layout\float\demo1.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>float......
  • Google 提供基于AI的模糊测试框架
    人工智能驱动的OSS-Fuzz工具可以帮助发现漏洞,并与自动修补管道相结合。    模糊测试可以成为找出软件中零日漏洞的宝贵工具。为了鼓励开发人员和研究人员使用它,谷歌周三宣布,免费提供其模糊测试框架OSS-Fuzz。    根据谷歌的说法,通过使用该框架在大型语言......