成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

go語言math go語言make和new的區(qū)別

Go 如何查看一個變量的內(nèi)存地址 理解指針問題

熟悉C語言的同學(xué)都知道,查看一個變量的地址在處理指針的相關(guān)問題的時候直觀重要,在C中直接取地址符 即可。那么在Go語言中如何查看一個變量的地址,我們使用unsafe.Pointer() 函數(shù)來查看一個變量的內(nèi)存地址。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了灤州免費建站歡迎大家使用!

舉例:

type Vertex struct {

X, Y float64

}

func (v Vertex) sqrt() float64 {

return math.Sqrt(v.X * v.X + v.Y * v.Y)

}

func (v Vertex) scale(f float64) { //帶 號 和不帶*號的區(qū)別 可以從內(nèi)存地址來看出

fmt.printf("=======", unsafe.Pointer(v))//v 本身就是指針 存儲的就是地址 不用取地址

v.X = x.X * f

v.Y = v.Y * f

}

func main() {

v := Vertex{3, 4}

fmt.printf("=======", unsafe.Pointer(v))

v.scale(10)

fmt.Println(v.sqrt())

}

//帶 號 打印的結(jié)果 ====== -%!(EXTRA unsafe.Pointer=0xc00006e070)======%!(EXTRA unsafe.Pointer=0xc00006e070) 相同

//不帶 號 打印的結(jié)果 ======%!(EXTRA unsafe.Pointer=0xc000094060)======%!(EXTRA unsafe.Pointer=0xc000094090) 不同

去掉*號 在scale()方法中要對 v 進行取地址操作

Go數(shù)據(jù)結(jié)構(gòu)篇

1、基本數(shù)據(jù)類型

bool

string

int int8 int16 int32 int64

uint uint8 uint16 uint32 uint64 uintptr

byte // alias for int8

rune // alias for int32,represents a Unicode code point

float32 float64

complex64 complex128

常量定義

2、類型轉(zhuǎn)換

(1)Go語言不允許隱式類型轉(zhuǎn)換(不支持小位數(shù)類型向大位數(shù)類型轉(zhuǎn))

(2)別名和原有類型也不能進行隱式類型轉(zhuǎn)換(type MyInt int64 = int64)

3、類型的預(yù)定義值

1.math.MaxInt64

2.math.MaxFloat64

3.math.MaxUInt32

4、指針類型

(1)不支持指針運算

(2)string是值類型,其默認的初始化值為空字符串,而不是nil

5、算術(shù)運算符

+ - * / % ++ --(不支持前置++ --)

6、比較運算符

#== != = =

(1)比較數(shù)組

相同維數(shù)且含有形同個數(shù)元素的數(shù)組才可以比較

每個元素都相同的才相等

7、位運算符

| ^

^ (按位置零) a (^b)

1 ^ 0 1

1 ^ 1 0

0 ^ 1 0

0 ^ 0 0

8、條件與循環(huán)

(1)循環(huán)

Go 語?僅?持循環(huán)關(guān)鍵字 for

(2)條件

9、數(shù)組和切片

數(shù)組截取,索引下標(biāo)從0開始計數(shù)

a[開始索引(包含), 結(jié)束索引(不包含)]

a := [...]int{1, 2, 3, 4, 5}

a[1:2] //2

a[1:3] //2,3

a[1:len(a)] //2,3,4,5

a[1:] //2,3,4,5

a[:3] //1,2,3

切片內(nèi)部結(jié)構(gòu)

9、Map

9、字符串

Unicode UTF8

常?字符串函數(shù)

go語言中math.Exp2(10)什么意思?也就是說,Exp2(10)對10進行了什么運算?

math.Exp2(10)就是計算2的10次方。

下面是一個例子

package main

import "fmt"

import "math"

func main() {

fmt.Printf("%f\n",

math.Exp2(10))

fmt.Printf("%f\n",

math.Exp2(4))

}

go語言為什么沒有min/max函數(shù)

go語言math包里面定義了min/max函數(shù),但是是float64類型的,而并沒有整數(shù)類型的min/max。

因為go沒有重載,這是個大坑。所以math庫里min/max函數(shù)都只能定義一個,所以官方選擇了比較難實現(xiàn)的float64類型。而簡單的整形就需要讓程序員自己實現(xiàn)了

網(wǎng)站名稱:go語言math go語言make和new的區(qū)別
本文地址:http://jinyejixie.com/article46/dopsieg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站改版、外貿(mào)建站標(biāo)簽優(yōu)化、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
泸水县| 福泉市| 丽水市| 肇州县| 香港 | 柳林县| 昭苏县| 虹口区| 安阳市| 栖霞市| 辽中县| 环江| 宁南县| 璧山县| 保靖县| 砀山县| 康保县| 云阳县| 巍山| 当阳市| 曲周县| 萨嘎县| 兰溪市| 荥经县| 威宁| 盐山县| 饶河县| 黄石市| 九寨沟县| 武陟县| 饶平县| 宣汉县| 大姚县| 华坪县| 曲麻莱县| 瓦房店市| 白银市| 东光县| 山西省| 兴仁县| 始兴县|