<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>Hàm là trường trong Golang</title>
<meta name="description" content="Hàm là trường trong Golang - Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;ham-la-truong-trong-golang-10310.html">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="Hàm là trường trong Golang">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;ham-la-truong-trong-golang-10310.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-la-truong-trong-golang-10310.html">
<link rel="shortcut icon" href="https://www.nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-la-truong-trong-golang-10310.html">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://www.nguoicodonvn2008.info/">https://www.nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>Hàm là trường trong Golang</h1>
		<ul class="list-inline">
			<li>Thứ hai - 05/05/2025 00:03</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="Hàm là trường trong Golang" src="https://st.quantrimang.com/photos/image/2025/05/05/golang-ham-lam-truong7.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;"><strong>Trong&nbsp;Golang, bạn có thể định nghĩa các hàm như các trường trong một cấu trúc (struct).</strong>&nbsp;Tính năng này cho phép bạn liên kết hành vi (phương thức) trực tiếp với các kiểu dữ liệu, cho phép quản lý dữ liệu và các hoạt động liên quan theo cách có tổ chức và đóng gói hơn.</p>

<div style="text-align: justify;">&nbsp;</div>

<p style="text-align: justify;"><br />
<img alt="Hàm làm trường trong Golang" data-i="0" data-src="https://st.quantrimang.com/photos/image/2025/05/05/golang-ham-lam-truong7.jpg" data-was-processed="true" height="340" src="https://st.quantrimang.com/photos/image/2025/05/05/golang-ham-lam-truong7.jpg" width="650" /></p>

<p style="text-align: justify;"><strong>Ví dụ:</strong></p>

<pre id="pre0" style="text-align: justify;">
package main
import &quot;fmt&quot;
// Định nghĩa một cấu trúc chưa hàm làm trương
type Person struct {
    Name  string
    Greet func() string
}
func main() {
    person := Person{
        Name: &quot;A&quot;,
    }
    // Gán một chức năng cho trường Chào hỏi sau khi người được xác định
    person.Greet = func() string {
        return &quot;Hello, &quot; + person.Name
    }
    // Gọi trường hàm
    fmt.Println(person.Greet())
}</pre>

<p style="text-align: justify;"><strong>Cú pháp của hàm dưới dạng trường trong Golang</strong></p>

<pre id="pre1" style="text-align: justify;">
type StructName struct {
    Field1 FieldType
    FunctionField func() ReturnType
}</pre>

<h3 style="text-align: justify;">Cấu trúc với phương thức dưới dạng trường hàm</h3>

<p style="text-align: justify;">Bạn cũng có thể định nghĩa một struct method hoạt động như một trường hàm. Điều này cho phép struct có hành vi được liên kết trực tiếp với nó.</p>

<div style="text-align: justify;">&nbsp;</div>

<p style="text-align: justify;"><strong>Cú pháp</strong></p>

<pre id="pre2" style="text-align: justify;">
type StructName struct {
    Field1 FieldType
    MethodField func() ReturnType
}</pre>

<p style="text-align: justify;"><strong>Ví dụ:</strong></p>

<pre id="pre3" style="text-align: justify;">
package main
import &quot;fmt&quot;
type Person struct {
    Name  string
    Greet func() string
}
func main() {
    person := Person{
        Name: &quot;A&quot;,
    }
    // Gán chức năng chào hỏi sau khi người đó được xác định
    person.Greet = func() string {
        return &quot;Hello, &quot; + person.Name
    }
    // Gọi trường hàm
    fmt.Println(person.Greet())
}</pre>

<p style="text-align: justify;"><strong>Kết quả:</strong></p>

<pre id="pre4" style="text-align: justify;">
Hello, A</pre>

<h3 style="text-align: justify;">Cấu trúc với Trường hàm tham số</h3>

<p style="text-align: justify;">Bạn có thể định nghĩa một trường hàm chấp nhận tham số, cung cấp tính linh hoạt hơn trong cách hàm hoạt động.</p>

<p style="text-align: justify;"><strong>Cú pháp</strong></p>

<pre id="pre5" style="text-align: justify;">
type StructName struct {
    Field1 FieldType
    MethodField func(param1 ParamType) ReturnType
}</pre>

<p style="text-align: justify;"><strong>Ví dụ:</strong></p>

<pre id="pre6" style="text-align: justify;">
package main
import &quot;fmt&quot;
type Person struct {
    Name  string
    Greet func(string) string
}
func main() {
    person := Person{
        Name: &quot;B&quot;,
    }
    // Gán hàm greet sau khi xác định được người
    person.Greet = func(greeting string) string {
        return greeting + &quot;, &quot; + person.Name
    }
    // Gọi trường hàm bằng 1 tham số
    fmt.Println(person.Greet(&quot;Hi&quot;))
}</pre>

<p style="text-align: justify;"><strong>Kết quả:</strong></p>

<pre id="pre7" style="text-align: justify;">
Hi, B</pre>

<h3 style="text-align: justify;">Cấu trúc với các trường đa hàm</h3>

<p style="text-align: justify;">Bạn cũng có thể định nghĩa nhiều trường hàm trong một struct duy nhất để đóng gói nhiều hành vi khác nhau.</p>

<p style="text-align: justify;"><strong>Cú pháp</strong></p>

<pre id="pre8" style="text-align: justify;">
type StructName struct {
    Field1 FieldType
    MethodField1 func() ReturnType
    MethodField2 func(param1 ParamType) ReturnType
}</pre>

<p style="text-align: justify;"><strong>Ví dụ:</strong></p>

<pre id="pre9" style="text-align: justify;">
package main
import &quot;fmt&quot;
type Person struct {
    Name     string
    Greet    func(string) string
    Farewell func() string
}
func main() {
    person := Person{
        Name: &quot;C&quot;,
    }
    // Gane hàm greet và farewell sau khi xác định người
    person.Greet = func(greeting string) string {
        return greeting + &quot;, &quot; + person.Name
    }
    person.Farewell = func() string {
        return &quot;Goodbye, &quot; + person.Name
    }
    // Gọi các trường hàm
    fmt.Println(person.Greet(&quot;Hello&quot;))
    fmt.Println(person.Farewell())
}</pre>

<p style="text-align: justify;"><strong>Kết quả:</strong></p>

<pre id="pre10" style="text-align: justify;">
Hello, C
Goodbye, C</pre>

<div style="text-align: justify;">&nbsp;</div>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com:
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-la-truong-trong-golang-10310.html" title="Hàm là trường trong Golang">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/ham-la-truong-trong-golang-10310.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://www.nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://www.nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<script src="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://www.nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://www.nguoicodonvn2008.info",
            "logo": "https://www.nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>