首页 > 其他分享 >Go语言基本语法

Go语言基本语法

时间:2022-10-22 22:33:21浏览次数:78  
标签:Println 语言 int fmt 语法 var scores Go main

7.4数组的引入

package main
import "fmt"

func main(){
    var scores [5]int
    scores[0] = 95
    scores[1] = 89
    scores[2] = 92
    scores[3] = 96

    sum := 0

    for i := 0; i<len(scores); i++{
        sum += scores[i]
    }

    avg := sum/len(scores)

    fmt.Printf("成绩总和为:%v,成绩成绩为:%v", sum, avg)
}

 

package main
import "fmt"

func main(){
    var scores [6]int
    fmt.Println(len(scores))
    fmt.Println(scores)
    fmt.Printf("scores的地址为:%p", &scores)
    fmt.Printf("scores的地址为:%p", &scores[0])
    fmt.Printf("scores的地址为:%p", &scores[1])
    fmt.Printf("scores的地址为:%p", &scores[2])
}

// 6
// [0 0 0 0 0 0]
// scores的地址为:0xc00000c300
// scores的地址为:0xc00000c300
// scores的地址为:0xc00000c308
// scores的地址为:0xc00000c310

循环遍历数组的两种方式:

1、普通for循环

package main
import "fmt"

func main(){
    var scores [5]int
    scores[0] = 95
    scores[1] = 89
    scores[2] = 92
    scores[3] = 96

    for i := 0; i<len(scores); i++{
        fmt.Printf("第%d个学生的成绩为%d \n", i+1, scores[i])
    }
}

// 第1个学生的成绩为95
// 第2个学生的成绩为89
// 第3个学生的成绩为92
// 第4个学生的成绩为96
// 第5个学生的成绩为0

2、range

package main
import "fmt"

func main(){
    var scores [5]int
    scores[0] = 95
    scores[1] = 89
    scores[2] = 92
    scores[3] = 96

    for key, value := range scores{
        fmt.Printf("第%d个学生的成绩为:%d\n", key+1, value)
    }
}

定义数组的方式:

package main
import "fmt"

func main(){
    var arr1 [3]int = [3]int{3, 6, 9}
    fmt.Println(arr1)

    var arr2 = [3]int{1, 4 ,7}
    fmt.Println(arr2)

    var arr3 = [...]int{4, 5, 6, 7, 8, 9}
    fmt.Println(arr3)

    var arr4 = [...]int{2: 66, 0: 33, 1: 99, 3:88}
    fmt.Println(arr4)
}

注意事项:

  1. 长度属于数组类型的一部分;
  2. Go中数组属于值类型,在默认情况下是值传递,因此会进行值拷贝;
  3. 如果想在其它函数中去修改原来的数组,可以使用引用传递(指针方式)。

标签:Println,语言,int,fmt,语法,var,scores,Go,main
From: https://www.cnblogs.com/arichman/p/16817405.html

相关文章

  • golang postman api(environments)
    获取所有environmentspackagemainimport("fmt""net/http""io/ioutil")funcmain(){url:="https://api.getpostman.com/environments"method:="GET"clien......
  • 2流高手速成记(之四):SpringBoot整合redis及mongodb
    最近很忙,好不容易才抽出了时间,咱们接上回上次我们主要讲了如何通过SpringBoot快速集成mybatis/mybatis-plus,以实现业务交互中的数据持久化,而这一切都是基于关系型数据库(SQ......
  • TypeScript 复习进阶三部曲 (1) – 把 TypeScript 当强类型语言使用
    前言本来是想照着TypeScript官网handbook写教程的.但真的没那个mood.还是用我自己的方式写教程(其实是复习和进阶笔记)吧 学习TypeScript的三个阶段(三部......
  • #打卡不停更#【FFH】Openharmony学生挑战赛分享-少儿语言教育APP
    Openharmony学生挑战赛经验分享前言本次参赛的项目是基于openHarmony开发的北向应用-少儿语言文化教育APP。从项目成立到初版成型再到参加比赛,这一路上遇到了不少困难,我也......
  • wincc7.5:编辑状态下画面默认语言的修改
    这是我前几天在某浪博客做的笔记wincc7.5:编辑状态下画面默认语言的修改_来自金沙江的小鱼_新浪博客(sina.com.cn)同事电话咨询我一个问题,一个wincc项目编辑状态下画面上......
  • c语言——0与空格占位
    1.对于整形0占位只要在d前面加0X就ok了(X包括原来的数位)就像空格占位前占位直接在d前面加X,后站位加-X如2.对于浮点数说实在没什么好占位的......
  • C语言_1
    video2scanf;strcpy;strlen;strcat等函数是不安全的,在vscode内会自动提供一个更安全的函数如scanf_s,但是这样就扼杀了程序的兼容性,所以我们一般不采取这样方式来解决,而是在第一......
  • Golang:3.5、Golang 指针
    3.5、Golang指针指针取地址:&取值:*指针地址:每一个变量都有一个地址,地址代表变量在内存中的位置Go语言中的值类型(int、float、bool、string、array、struct)对应的指......
  • Golang:3.6、Golang 结构体 struct
    3.6、Golang结构体struct类型定义和类型别名类型定义的语法typeNewTypeType示例packagemainimport"fmt"funcmain(){//定义类型typeMyIntint......
  • Golang:3.7、Golang接口 interface
    3.7、Golang接口interfacego语言中的接口,是一种新的类型定义,它把所有的具有共性的方法定义在一起,任何其他类型制药实现了这些方法就是实现了这个接口语法//定义接口ty......