å¨æ¥è§¦å°goä¹åï¼æ认为å½æ°åæ¹æ³åªæ¯åä¸ä¸ªä¸è¥¿ç两个ååèå·²ï¼å¨æçæçc/c++ï¼pythonï¼javaä¸æ²¡æææ¾çåºå«ï¼ï¼ä½æ¯å¨golangä¸è å®å ¨æ¯ä¸¤ä¸ªä¸åçä¸è¥¿ãå®æ¹ç解éæ¯ï¼æ¹æ³æ¯å å«äºæ¥æ¶è çå½æ°ãå°åºä»ä¹ææå¢ã
é¦å å½æ°çæ ¼å¼æ¯åºå®çï¼funcï¼å½æ°åï¼ åæ° ï¼ è¿åå¼ï¼å¯éï¼ ï¼ å½æ°ä½ãä¾
func mainï¼ï¼
{
fmt.Println("Hello go")
}
å¨golangä¸æ两个ç¹æ®çå½æ°ï¼mainå½æ°åinitå½æ°ï¼mainå½æ°ä¸ç¨ä»ç»å¨ææè¯è¨ä¸é½ä¸æ ·ï¼å®ä½ä¸ºä¸ä¸ªç¨åºçå ¥å£ï¼åªè½æä¸ä¸ªãinitå½æ°å¨æ¯ä¸ªpackageæ¯å¯éçï¼å¯æå¯æ ï¼çè³å¯ä»¥æå¤ä¸ª(ä½æ¯å¼ºç建议ä¸ä¸ªpackageä¸ä¸ä¸ªinitå½æ°)ï¼initå½æ°å¨ä½ å¯¼å ¥è¯¥packageæ¶ç¨åºä¼èªå¨è°ç¨initå½æ°ï¼æ以initå½æ°ä¸ç¨æ们æå¨è°ç¨,lå¦å¤å®åªä¼è¢«è°ç¨ä¸æ¬¡ï¼å 为å½ä¸ä¸ªpackage被å¤æ¬¡å¼ç¨æ¶ï¼å®åªä¼è¢«å¯¼å ¥ä¸æ¬¡ã
package main
import (
"demo/mypackage"
"fmt"
)
func main() {
fmt.Println("Hello go.... I = ", mypackage.I)
}
è¿è¡ç»æï¼
æ们å¯ä»¥çå°ï¼ç¨åºä¸ºæ们èªå¨è°ç¨äºä¸¤ä¸ªinitå½æ°ï¼å¹¶ä¸æ¯æç §é¡ºåºè°ç¨çã
ä¸é¢æ¥çæ¹æ³ã
package main
import "fmt"
type myint int
//ä¹2
func (p *myint) mydouble() int {
*p = *p * 2
return 0
}
//å¹³æ¹
func (p myint) mysquare() int {
p = p * p
fmt.Println("mysquare p = ", p)
return 0
}
func main() {
var i myint = 2
i.mydouble()
fmt.Println("i = ", i)
i.mysquare()
fmt.Println("i = ", i)
}
è¿è¡ç»æï¼
æ们å¯ä»¥çå°æ¹æ³åå½æ°çåºå«ï¼æ¹æ³å¨funcå ³é®ååæ¯æ¥æ¶è èä¸æ¯å½æ°åï¼æ¥æ¶è å¯ä»¥æ¯èªå·±å®ä¹çä¸ä¸ªç±»åï¼è¿ä¸ªç±»åå¯ä»¥æ¯structï¼interfaceï¼çè³æ们å¯ä»¥éå®ä¹åºæ¬æ°æ®ç±»åãæ们å¯ä»¥ç»ä»ä¸äºæ们æ³è¦çæ¹æ³æ¥æ»¡è¶³æ们çå®é å·¥ç¨ä¸çéæ±ï¼å°±åä¸é¢ä¸æ ·æéå®ä¹äºint并ç»äºå®ä¸ä¸ªä¹2åå¹³æ³çæ¹æ³ï¼è¿éæ们è¦æ³¨æä¸ä¸ªç»èï¼æ¥æ¶è æ¯æéåéæéçåºå«ï¼æ们å¯ä»¥çå°å½æ¥æ¶è 为æéå¼ï¼æ们å¯ä»¥éè¿æ¹æ³æ¹å该æ¥æ¶è çå±æ§ï¼ä½æ¯éæéç±»å缺åä¸å°ã
è¿éçæ¥æ¶è åc++ä¸çthisæéæä¸äºç¸ä¼¼ï¼æ们å¯ä»¥ææ¥åè å½ä½ä¸ä¸ªclassï¼èè¿äºæ¹æ³å°±æ¯ç±»çæåå½æ°ï¼å½æ¥æ¶è 为æéç±»åæ¯å°±æ¯c++ä¸çéconstæåå½æ°ï¼ä¸ºéæéæ¶å°±æ¯constæåå½æ°ï¼ä¸è½éè¿æ¤æ¹æ³æ¹åç´¯çæååéã