1. 程式人生 > >[go語言]變數宣告-初始化

[go語言]變數宣告-初始化

初始化

在變數宣告的時候還可以包含初始值,每個變數對應一個,var 變數名 變數型別 = 表示式

var a int = 1
var a, b string = "hello", "world"

如果初始化值已存在,則可以省略型別;變數會從初始值中獲得型別。

var a = math.Sin(0.5)         // float64
var b = 1                     // int
var c, d, e = 1, 3.5, "hello" // int float64 string

預設型別

就像上面例子中,右側表示式是字面量,它們會被轉換成預設型別。常見的字面量對應的預設型別:

  • boolean 型別: bool
  • 整數型別:int
  • 字元型別:rune
  • 浮點數型別:float64
  • 複數型別:complex128
  • 字串型別: stirng
package main

import (
    "fmt"
)

func main() {
    var a, b = true, "a" > "b" // bool, bool
    var c, d = 1, 'w'          // int, rune
    var e, f = 3.2, 1 - 0.707i // float64, complex128
    var g = "hi"               // string
// bool bool int int32 float64 complex128 string fmt.Printf("%T %T %T %T %T %T %T", a, b, c, d, e, f, g) }

JBbFpK.gif

參考資源:

相關推薦

[go語言]變數宣告-初始

初始化 在變數宣告的時候還可以包含初始值,每個變數對應一個,var 變數名 變數型別 = 表示式。 var a int = 1 var a, b string = "hello", "world" 如

[go語言]變數宣告-短變數宣告

短變數宣告 在函式中,可以使用短變數宣告的方式進行變數的宣告和初始化,變數名:= 表示式。 package main import ( "fmt" "math" ) // hi :=

Go語言建立、初始陣列的各種方式

Go語言的語法很靈活,以下展示了建立並初始化陣列的多種方式: //陣列初始化的各種方式 func arraySliceTest0201() { //建立陣列(宣告長度) var array1 = [5]int{1, 2, 3} fmt.Printf("array1--

Go語言學習(3) - 變數初始

變數的概念 變數是計算機語言中儲存資料的抽象概念,變數通過變數名訪問 變數的本質是計算機分配的一小塊記憶體,專門用於存放指定資料,在程式執行過程中該數值可以改變 變數的儲存往往具有瞬時性、或者說是臨時儲存,當程式執行結束,存放該資料的記憶體就會釋放,該變數就會訊息 Go語言的變數名由數字、

有關QT中宣告一個vector為全域性變數初始問題

前面說了一個簡單的int型別全域性變數,是怎麼實現的,但是對於更復雜一點的vector型別,上面的方法固然可以借鑑,但是初始化的問題應該是不一樣的。 全域性變數:在標頭檔案的類中宣告,在cpp檔案的函

c++語言規定:不允許跨過變數初始語句直接跳轉到該變數作用域內的另一個位置

片段一: int sc = 1; switch (sc) { case 0:        int val = 10;        break; case 1:        val = 5;   // error,跳過了初始化        break;

C語言的未初始的數組的值為什麽是隨機的

urn turn 隨機 說明 tin main ont 情況 同學 突然想起來前幾天同學問我為什麽沒有初始化的數組的值是隨機的,發現這個困惑自己也是存在的,所以自己總結的心得. 1. 首先,並不是所有未初始化的數組的值都是隨機的.對於沒有初始化的數組,分兩種情況:  

java變數初始後的預設值

對於類的成員變數 不管程式有沒有顯示的初始化,Java 虛擬機器都會先自動給它初始化為預設值。 1、整數型別(byte、short、int、long)的基本型別變數的預設值為0。 2、單精度浮點型(float)的基本型別變數的預設值為0.0f。 3、雙精度浮點型(double

三:go語言變數,常量,列舉,布林

1:一個包下面可以有多個人原始檔 2:import按照書序匯入載入(優先執行檔案裡的init方法) 3:類型別名不能參加正常運算(要同一個型別的前提下才行) 4:申明的變數沒有使用,也會報錯 5:定義包名 -> 最好資料夾唯獨定義包名 6:var a,b,c = 11,21,31

規範程式設計之變數初始

一個程序crash的問題, ExceptionClass: Native (NE)Exception Type: SIGSEGV CurrentExecuting Process: pid: 386, tid: 399/system/bin/Tyservice Backtrace:#00 pc

golang第七課----go語言變數

Go 語言變數 變數來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。 Go 語言變數名由字母、數字、下劃線組成,其中首個字母不能為數字。 宣告變數的一般形式是使用 var 關鍵字: var identifier type 變數宣告

golang基礎學習---Go 語言變數作用域

Go 語言變數作用域 作用域為已宣告識別符號所表示的常量、型別、變數、函式或包在原始碼中的作用範圍。 Go 語言中變數可以在三個地方宣告: 函式內定義的變數稱為區域性變數 函式外定義的變數稱為全域性變數 函式定義中的變數稱為形式引數 接下來讓我們具體瞭解區域性變數、全域性變

Go語言基礎(八)—— Go語言變數作用域、Go語言陣列、Go語言指標

Go語言變數作用域 作用域為已宣告識別符號所表示的常量、型別、變數、函式或包在原始碼中的作用範圍。  Go 語言中變數可以在三個地方宣告: • 函式內定義的變數稱為區域性變數  • 函式外定義的變數稱為全域性變數  • 函式定義中的變數稱為形式引數&nb

C++中變數預設初始規則

轉載連結地址:http://www.cnblogs.com/FoxShark/p/5802239.html 定義沒有初始化式的變數時,系統有時候會幫我們初始化變數。系統如何初始化取決於變數的型別以及變數定義的位置。   1、內建型別變數是否自動初始化取決於變數定義的位置。函式體外定義的變

Go 結構體與初始

Go 通過類型別名(alias types)和結構體的形式支援使用者自定義型別。 結構體是複合型別,當需要定義型別,它由一系列屬性組成,每個屬性都有自己的型別和值的時候,就應該使用結構體,它把資料聚集在一起。 結構體也是值型別,因此可以通過 new 函式來建立 組成結構體型別的那些資料成為欄位(field

c++ const、static、static const修飾的類資料成員變數如何初始

const資料成員變數: const資料成員為整個類所共有,一旦初始化,不允許修改。其初始化方式一:建構函式初始化列表方式(C++98) 示例: //------------main.cpp #include <iostream> #include <string>

quartz多次觸發定時任務時成員變數初始

專案中遇到一個問題:每2分鐘觸發一次的定時任務只執行一次!每次啟動專案時,看到做補償處理的定時任務確實被觸發了,但是,定時任務只跑一次,而且,理論上只會取到10條資料,但是卻取到了全部需要補償的資料,讓我很是詫異,於是決定研究一番,後來發現是每次作為起始點的引數被置為最終的id,導致第二次的起始點不

C語言陣列的初始

一維陣列 其一般形式為:  型別名    陣列名    [陣列長度]     =     {初值表} 注:雖然C語言規定,只有靜態儲存的陣列才能初始化,但一般的C編譯系統都允許對動態儲存的陣列賦初值 對靜態陣列初始化: static in

智慧合約中的“座霸” | 成都鏈安漏洞分析連載第七期 ——儲存器區域性變數初始

針對區塊鏈安全問題,成都鏈安科技團隊每一週都將出智慧合約安全漏洞解析連載,希望能幫助程式設計師寫出更加安全牢固的合約,防患於未然。 行身踐規矩,甘辱恥媚灶。——韓愈 前情提要 上回講到, 區塊鏈遊戲江山如畫, 安全防護未規劃, 一片殘陽西掛。 我

H.264---CABAC---第一部分---上下文變數初始

    初始化執行於slice開始之前,另外如果在編碼過程中某個巨集塊是PCM巨集塊(編碼器直接傳輸影象的畫素值,而不經過預測和變換),那麼在PCM巨集塊之後,編碼下一個巨集塊之前也需要進行初始化。 初始化主要工作就是確定所有上下文的初始MPS以及初始狀態pStateIdx。求解方法