go变量赋初值

package main
import "fmt"

func variableinitial(){
    var a,b int=3,4
    var s string="abc"
    fmt.Println(a,b,s)
}
func main(){
    variableinitial()
}

输出

3 4 abc

变量后面的类型可以省略。此时,可以把不同类型的变量一起初始化。

var a,b,c,d,f =3,4,22,"iii",true 

a,b,c,d,f :=3,4,22,"iii",true

等效。

package main
import "fmt"

func variableinitial(){
    a,b,c,d,f :=3,4,22,"iii",true
    var s string="abc"
    fmt.Println(a,b,c,d,f,s)
}
func main(){
    variableinitial()
}

输出

3 4 22 iii true abc

注意:使用var 或者:=声明的变量,再次赋值时,直接赋值即可,如:b=7,不能再次使用var或者:=

以上说的都是函数内部变量,也可以在函数外部声明变量,但是必须使用var开始,且不能使用:=,因为go语言要求,函数外部的每行开始都要是go的关键字,所以必须以var开始,如:var c=6,这些变量我们称为包内部变量

如果外部变量较多时,可以使用括号,一次声明初始化多个变量,可以少写一些var

package main
import "fmt"
var (
 aa=3
 bb=7
 cc=9
 dd="kkk"
 ee=true
)
func variableinitial(){
    a,b,c,d,f :=3,4,22,"iii",true
    var s string="abc"
    fmt.Println(a,b,c,d,f,s,ee)
}
func main(){
    variableinitial()
}

输出;

3 4 22 iii true abc true

原文地址:https://www.cnblogs.com/sea-stream/p/10261462.html

时间: 2024-11-01 23:48:12

go变量赋初值的相关文章

C++ 利用template给函数中的变量赋初值

1 #include <iostream> 2 3 template<int base> 4 void echo(int add) 5 { 6 int sum=add+base; 7 8 std::cout<<sum<<std::endl; 9 } 10 11 int main(int argc,char *argv[]) 12 { 13 echo<10>(10); 14 return 0; 15 }

拷贝构造,深度拷贝,关于delete和default相关的操作,explicit,类赋初值,构造函数和析构函数,成员函数和内联函数,关于内存存储,默认参数,静态函数和普通函数,const函数,友元

 1.拷贝构造 //拷贝构造的规则,有两种方式实现初始化. //1.一个是通过在后面:a(x),b(y)的方式实现初始化. //2.第二种初始化的方式是直接在构造方法里面实现初始化. 案例如下: #include<iostream> //如果声明已经定义,边不会生成 class classA { private: int a; int b; public: //拷贝构造的规则,有两种方式实现初始化 //1.一个是通过在后面:a(x),b(y)的方式实现初始化 //2.第二种初始化的方式是直

单片机C语言探究--为什么变量最好要赋初值

有许多书上说,变量最好要赋初值.但是为什么要初值呢?不赋初值可能会出现什么样的意外呢?以下就我在以51单片机为MCU,Keil为编译器看到的实现现象作分析.众所周知,变量是存储在RAM中,掉电后即丢失,上电后默认全为0.那么这样的话没赋初值的变量值全为0,这也应该是大家认为理所当然的.但是,当单片机复位的时候(包括硬件复位即按下复位按钮,看门狗复位,以及其它软件程序复位),单片机只是重新跳回到main函数开始执行,而并没有清空RAM!所以,那些只是定义而没有赋初值的变量(尤其是全局变量)依然会使

结构定义时候成员不能赋初值

结构定义的时候,成员变量不能赋初值,否则结构定义变量后,变量中将看不到已赋初值的变量 比如以下代码 struct Point { int x=0; int y; }; void main() { Point pt; } 上述代码中,在main函数中,可以通过 pt.y=5 的方式,进行赋值.却  无法通过 该方法对 pt.x 进行赋值,找不到 pt.x 原文地址:https://www.cnblogs.com/lanzhizui/p/8436887.html

在Python中建立N维数组并赋初值

在Python中,由于不像C++/Java这样的语言可以方便的用a[i][j]=0的方式,建立二维数组并赋初值,所以需要一个相对巧妙的方法. 可以用列表解析的方式,eg: >>> mat=[[0 for i in range(5)] for j in range(5)] >>> mat [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 这样就建立了一

C语言结构体赋初值

C语言结构体赋初值,特别是结构体中含有数组成员是,最后一个逗号最好是不要多写.因为有些时候可能会出错.图中,红色的框框处.

jsp中把js变量赋给java变量,或者将java变量赋给js变量怎么做?

在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下: java变量传给js好办,var a=”<%=javaParam%>“;注意要将引号”"加上: js变量给java稍微复杂点,一般是在表单中用一个的隐藏表单元素,然后在脚本中将js变量值赋给它: var jsParamValue=’aaaa’;form1.jsParam.value=jsParamValue; 然后就可以request.getPrameter(“jsP

《oracle数据库递归查询以及给结果赋初值》

CR CREATE TABLE USERS.TBL_TEST ( ID    NUMBER, NAME  VARCHAR2(100 BYTE), PID   NUMBER                                  DEFAULT 0 ) INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0'); INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1' INSERT IN

static 和 final 关键字 对实例变量赋初始值的影响

static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看<深入理解Java虚拟机>,在看完了对象内存分配.Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的这个问题的细节. 在2.3.1小节中讲对象创建的时候,讲到内存分配有两种方式:一种是指针碰撞:另一种是空闲列表. 而选择哪种分配方式是由JAVA堆是否规整决定,而JAVA堆是否规整则由虚拟机所采用的垃圾收集器是否带压缩整理功能决定. 我们不管内存分配采用何种方式,当内存分配完成后,虚拟机将分配到的内存空间都初