首页 > 其他分享 >狂神说Go语言笔记—Go基础语法

狂神说Go语言笔记—Go基础语法

时间:2022-11-08 14:03:32浏览次数:42  
标签:name int fmt 语法 var func Go 狂神 main

注释

给别人看的,机器并不会执行这行语句

1.单行注释

// 我是单行注释

2.多行注释

/*
我是多行注释
我是多行注释
我是多行注释
我是多行注释
*/

// 这是一个main函数,这个是go语言启动的入口
func main() {
   //fmt.Println :打印一句话,然后执行完毕后,进行换行
   fmt.Println("Hello,Word")
}

变量

字面理解为变量就是会变化的量

package main

import "fmt"

func main() {
   var name string = "DuPeng"
   fmt.Println(name)
}

注意:如果在点击这里执行会出错

image-20221108122850855

出错提示:项目里有多个main方法

image-20221108122911210

正确执行方式:鼠标单击右键执行,一定要在main方法外! 一定要在main方法外 !一定要在main方法外,重要事情说三遍

image-20221108123552840

变量的定义

var name type

name

name 为变量,它指向的是地址,而这个地址指向内存空间,而内存空间的数据是可以更换的

image-20221108124245537

var

声明变量的关键字,固定的写法,记住即可

type

代表变量的类型

定义多个变量

package main

import "fmt"
// “=” 赋值符号 将等号右边的值赋值给等号左边
func main() {
   var (
      //姓名
      name string
      //年龄
      age int
      //地址
      addr string
   )
    //string 默认值:空
	//int 默认值:0
   fmt.Println(name, age, addr)
}

变量的初始化

标准格式

var 变量名 类型 =值(表达式)

也可以先定义,再赋值

package main

import "fmt"

func main() {
   // “=” 赋值符号
   var (
      //姓名
      name string
      //年龄
      age int
      //地址
      addr string
   )
   name = "dupeng"
   age = 22
   addr = "成都"
   //string 默认值:空
   //int 默认值:0
   fmt.Println(name, age, addr)
}

image-20221108125819013

短变量声明并初始化

import "fmt"

func main() {
   //    :=自动推导
   name := "dupeng"
   age := 18
   fmt.Println(name, age)
   //打印输出name和age的类型
   fmt.Printf("%T,%T", name, age)
}

打印输出声明类型

image-20221108130339810

内存地址

打印内存地址

import "fmt"

func main() {
   var num int
   num = 100
   fmt.Printf("num:%d,内存地址:%p", num, &num)
}

不要忘记取地址符

image-20221108131057105

值发生变换而内存地址不会发生改变,但每次重启系统就会重新分配一个新的地址空间

image-20221108131341876

变量交换

package main

import "fmt"

func main() {
   /*
      在其他语言中 变量的交换为下列代码
      a=100
      b=200
      temp=0

      temp=a
      a=b
      b=temp
   */
   // 而在go语言中
   var a int = 100
   var b int = 200
   b, a = a, b
   fmt.Println(a, b)
}

image-20221108132029542

匿名变量

特点是"_","_"本身就是一个特殊字符

被称为空白标识符,任何赋值给这个标识符的值都会被抛弃,这样可以加强代码的灵活性

package main

import "fmt"

func test() (int, int) {
   return 100, 200
}

func main() {
   a, b := test()
   fmt.Println(a, b)
}

当我们不想接收第二个值时可以废弃掉

package main

import "fmt"

func test() (int, int) {
   return 100, 200
}

func main() {
   a,_ := test()
   fmt.Println(a)
}

image-20221108133801415

变量的作用域

一个变量(常量、类型或函数)在程序中都有一定的作用范围,称之为作用域。

局部变量

在函数体声明的变量,只作用在函数体内

全局变量

在函数体外声明的变量为全局变量

全局变量必须以var关键字开头,如果要在外部包使用全局变量的首字母必须大写

image-20221108134710818

标签:name,int,fmt,语法,var,func,Go,狂神,main
From: https://www.cnblogs.com/DuPengBG/p/16869448.html

相关文章

  • 【ES6 教程】第一章 新的ES6语法10—如何替换字符串中的变量
    英文|https://www.javascripttutorial.net翻译|杨小爱在今天的教程中,我们将学习JavaScript模板文字,它使我们可以更轻松地使用字符串模板。在ES6之前,我们使用单引号......
  • scss 语法
    scss语法介绍 这里既然是对语法的介绍,那么至于如何安装和编译scss我就不多少了,主要是因为本人在群里认识的小伙伴有的不会用scss,所以就借着放假的机会来对scss语法做......
  • Go | 浅谈包管理模式
    任何一门编程语言都离不开对各种工具包的使用,工具包的管理就显得异常重要了。Go的包管理方式是逐渐演进的,本文介绍Go语言的两种包管理模式。GOPATH模式引包(不推荐)在1......
  • markdown基础语法,windows快捷键和常用的Dos命令
    Markdown学习标题:#号加空格,回车生成一级标题需要几号标题就在前面加几个#号,最多是六个#二级标题三级标题四级标题五级标题六级标题字体Helloworld!(粗体是前后两......
  • golang批量处理M个Task设置消费者只有N个然后逐个消费
    1、消费逻辑封装:packageutilsimport("context""errors""fmt")//ConsumerFuncparamsecondislist.itemtypeConsumerFuncfunc(context.Conte......
  • python测试开发django-198.bootstrap-formvalidation校验成功发ajax请求
    前言form表单提交按钮是type="submit"类型,输入框按回车会自动提交表单。如果我们想自定义提交表单,可以使用ajax提交。Form表单一个登录页面的Form表单<fo......
  • goss - 一个简洁的对象存储库
    goss✨goss是一个简洁的云存储golang库,支持阿里云、腾讯云、七牛云、华为云、awss3。......
  • Gatsby custom head & Google Analytics All In One
    Gatsbycustomhead&GoogleAnalyticsAllInOneGoogleAnalytics(分析)https://analytics.google.com/analytics/web/#/a248706071p341215062/admin/streams/table/42......
  • Django限制用户上传文件格式与大小
    https://blog.csdn.net/weixin_42134789/article/details/100012339Django模型中自带的ImageField和FileField字段并不会也不能限制用户上传的图片或文件的格式和大小,这给......
  • django的auth模块学习
    auth1.我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情......